PHP经验技巧知识
一、关于基础的打印和输出变量
1、echo 和 print 函数
都是用于输出 字符串 和 变量.
区别在于 - print 可以返回 true 或 flase
2、printf 和 sprintf 函数
都是用于格式化输出 字符串或变量.
如: print("%d只紧急派发","41");
"%ld" - 表示十进制长整形 "%s" = 表示按字符串输出 "%f" 表示按浮点数输出.
区别 - sprintf函数可以在转换后将结果保持在字符串变量中,而不直接输出.
3、print_r() 和 var_dump() 函数
打印数组
------------------------------
1 2 3 | $ab=array(dd,cc); print_r($ab); var_dump($ab); |
4、HereDoc 函数
用于嵌入一些大些文本内容.
1 2 3 4 5 | <?php echo <<< THIS_HEREDOC // - 开始 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF THIS_HEREDOC // - 结束 ?> |
5、isset() 函数检查定变量定义
用于检查 变量或对象是否已经定义. 然后返回布尔值.
如 if(isset($POST['user'])){ // 检测变量
}
if(isset($obj->property)){ // 检测对象
}
6、unset() 删除变量
顾名思义 .. 废除变量
unset($ab);
7、empty() 检测变量是不是空值
$ab = empty($a);
是空值 $ab 返回 NULL
二、包含控制语句
1、include 和 require
把另一个文件包含 到当前文件.
调用方式:
1 2 3 4 | <?php include "aaa.php" require "bbb.php" ?> |
2、include_once 和 require_once
功能与上面没什么区别,主要是用于
比如可能会重复调用某文件时 include 和 require
或有错误提示,include_once 和 require_once不会.
3、eval() 动态执行PHP代码
使PHP字符串变成可执行的PHP语句.
使用方式:
1 2 3 4 5 | <?php $str = '$var = 5'; eval($str); echo $var; ?> |
var 就从字符串变成了 可执行的PHP变量.
三、函数相关
1、函数与全局变量
1 2 3 4 5 6 7 8 | <?php function func(){ $var = 2; } $var = 1; func(); echo $var; ?> |
函数外部,我们将$var变量的值置为1,当函数fun被调用时,fun内部
将var变量的值置为2,但是函数中的$var属于局部变量不会受到影响,
因此脚本执行为1。
1 2 3 4 5 6 7 8 9 | <?php function func(){ $GLOBALS["var"] = 2; // 或使用global $var $var = 2; } $var = 1; func(); print $var; ?> |
$var 值修改成2,因为$var已经声明为全局变量,当有一处对$var的值
做了修改时,别的地方引用该变量时也会随之同步改变.
2、函数的静态变量
函数中声明静态变量,局部变量前面加上static关键字即可
static $variable;
具体脚本如函数定义:
1 2 3 4 5 6 7 8 9 10 11 12 | <?php function static_ex($num){ $a = 10; static $b = 10; echo $num . "<br />"; echo $a++ . "<br />"; echo $b++ . "<br />"; } static_ex(1); static_ex(2); static_ex(3); ?> |
执行三次,static_ex()函数.
1,10,10,2,10,11,3,10,12
其中,可以看到 b 是固定不变.
3、递归函数
php5 中递归支持 6000个调用,根据情况来定
1 2 3 4 5 6 7 8 9 | <? function summation($count){ if($count != 0){ return $count + summation($count-1); // 递归调用本身 } $sum = summation(10); echo "求和 = $sum"; } ?> |
不要过多使用递归,以免引起不必要的麻烦。
4、自动转义字符串数据
addslashes(string)
字符串里面部分字符添加反斜线转义字符,addslashes()函数只为4个字符添加转义,包括
单引号"'",双引号""",反斜杆"\"和NULL("\0")。
可以将sql语句中可能与SQL冲突字符串进行转义过滤一些错误、恶意注入操作的等.
addcs