PHP学习记录一

愿你,想要的都得到,得不到的都释怀

前言

此文用于记录PHP学习中容易疏忽或混淆的内容,长期完善。

基础知识

各种输出的区别

1.echo(): 可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。

2.print(): 函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。

3.print_r(): 可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印”\n”。因此用var_dump()函数更适合调试。

4.var_dump(): 判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

switch

1.基本用法不做在赘述。

2.case表达式可以是任何求值为简单类型的表达式,即整形,浮点型,字符串,布尔型,array 和 null.

3.case语句可以为空,这样只不过将控制转移到下一个case语句。

过滤特殊字符

1
2
3
4
function replace_specialChar($strParam){
$regex = "/\/|\~|\,|\。|\!|\?|\“|\”|\【|\】|\『|\』|\:|\;|\《|\》|\’|\‘|\ |\·|\~|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\_|\+|\{|\}|\:|\<|\>|\?|\[|\]|\,|\.|\/|\;|\'|\`|\-|\=|\\\|\|/";
    return preg_replace($regex,"",$strParam);
}

过滤特殊字符:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
function replaceSpecialChar($strParam){
$regex = "/\ |\/|\~|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\_|\+|\{|\}|\:|\<|\>|\?|\[|\]|\,|\.|\/|\;|\'|\`|\-|\=|\\\|\|/";
return preg_replace($regex,"",$strParam);
}
$str = "abcde~!@#$%^&*()_+{}:|<>?,./;'[]\-=`bao";
$str = replaceSpecialChar($str);
echo "$str\n";

//输出结果
abcdebao
?>

过滤中文字符

1
2
3
4
5
6
7
8
9
<?php
$str = 'abc…1-好好-xue-习!';
$tmp2 = preg_replace('/([\\x80-\\xff])/', '', $str); //这个是过滤gb2312汉字
$tmp3 = preg_replace('/[\\x{4e00}-\\x{9fa5}]/u', '', $str); //这个也是过滤utf-8汉字

var_dump($tmp2); //'abc1--xue-!' (length=11)
echo "\n";
var_dump($tmp3); // 'abc…1--xue-!'(length=14)
?>
0%