- php可变变量
一个变量的变量名可以动态的设置和使用
<?php
$a = 'hello';
$$a = 'world';
echo "$a ${$a}";
//两个变量都被定义了:$a 的内容是“hello”并且 $hello 的内容是“world”。
//等价于:echo "$a $hello";
//输出:' hello world';
?>
对于数组:一种用${$a[1]}
,另一种情况情况用${$a}[1]
。
类的属性也可通过可变变量来访问:对于$foo->$bar
,会在本地范围来解析$bar
并且其值将被用于$foo
的属性名。 安全隐患
字符串过滤,表单验证: htmlspecialchars,is_numeric
240610708 和 QNKCDZO md5值类型相似,但并不相同,在“==”相等操作符的运算下,结果返回了true,攻击者可伪造任意 0e[0-9].*的形式绕过为密码的判断对记录数据进行篡改删除等操作。
- func_get_args()
- 获取函数参数列表的数组
- func_num_args()
- func_get_arg()
- strcpy()
- strcpy(s1,s2);strcpy函数的意思是:把字符串s2中的内容copy到s1中,连字符串结束标志也一起copy.
这样s1在内存中的存放为:ch\0; - strlen函数的意思是测试字符串的字符长度,不含字符串结束标志的。
sizeof是个运算符,它的结果是字符串在内存中的所占字节大小,它要把\0算进去的。
- strcpy(s1,s2);strcpy函数的意思是:把字符串s2中的内容copy到s1中,连字符串结束标志也一起copy.
- echo,print,print_r,printf,sprintf,var_dump 函数之间的区别与用法详解
- echo函数:输出函数,是命令,不能返回值。echo后面可以跟很多个参数,之间用分号隔开;
- echo ‘1+5=’ . 5+1; //输出 2
- echo ‘1+5=’ , 5+1; //输出 1+5=6
- PHP中字符串变成数字的机制:如果将一个字符串强制转换成一个数字.PHP会去搜索这个字符串的开头.如果开头是数字就转换.如果不是就直接返回0.回到刚才的’1+5=5’.既然这个字符串是’1+5=5’,所以强制类型转换后就应该是1了.
- print() 和 echo() 用法一样,但是echo速度会比print快一点点,注意print总是返回1的;
- print_r函数打印关于变量的易于理解的信息。print_r有两个参数,第一个是变量,第二个可设为true,如果设为true,则会返回字符串,否则返回布尔值TRUE;
- printf函数返回一个格式化后的字符串。如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入 % 符号之后,由数字和 “$” 组成。可使用数字指定显示的参数:printf(“My name is %1$s %1$s”,”55nav”, “com”); // 在s前添加1$或2$…..表示后面的参数显示的位置,此行输出 My name is 55nav 55nav因为只显示第一个参数两次;
- sprintf函数使用方法和printf一样,唯一不同的就是该函数把格式化的字符串写写入一个变量中,而不是输出来;
- var_dump输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。
- addslashes和mysql_real_escape_string.都是为了使数据安全的插入到数据库中而进行过滤.那么这两个函数到底是有什么区别呢?
- PHP手册上addslashes转义的字符是单引号(’)、双引号(”)、反斜线(\)与NUL(NULL 字符);
- mysql_real_escape_string必须是连接数据库之后才能使用,所以以后也就用addslashes好了
PHP知识点累积
最新推荐文章于 2022-08-23 10:53:17 发布
