按位与计算是否为基数 $var & 1;//$var 为整数奇数 该结果为true,即‘&’符号可以用来判断是否为奇数 有意忽略PHP关闭标签 //super extra character after the closing tag
$var & 1;//$var 为整数奇数 该结果为true,即‘&’符号可以用来判断是否为奇数
phpecho 'Hello'; //Now dont close this tag
这將节约你很多时间,
我们举个例子://一个 super_class.php 文件
//super extra character after the closing tag
index.phprequire_once('super_class.php');//echo an image or pdf, or set the cookies or session data
这样,你將会得到一个 Headers already send error。为什么?因为 “super extra character” 已经被输出了。现在你得开始调试啦。这会花费大量时间寻找 super extra 的位置。因此,养成省略关闭符的习惯:
这回更好.
在linux环境中,权限问题可能会浪费你很多时间。从今往后,无论何时,当你创建一些文件后,确保使用chmod设置正确权限。否则的话,可能文件先是由”php”用户创建,但你用其它的用户登录工作,系统將会拒绝访问或打开文件,你不得不奋力获取root权限,更改文件的权限等等。
1 //Read and write for owner, read for everybody else2 chmod('somedir/somefile', 0644);3 //Everything for owner, read and exceute for others4 chmod('somedir/somefile', 0755);
也就是创建文件的同时,要设置正确的文件权限
$f = 0.58; echo intval($f * 100); // 输出57 sprintf("%.2f",$f * 100); //输出58.00
在进行hash比较的时候会存在问题。如下:
"0e132456789"=="0e7124511451155" //true"0e123456abc"=="0e1DDDada" //false"0e1abc"=="0" //true
在进行比较运算时,如果遇到了0e\d+这种字符串,就会将这种字符串解析为科学计数法。所以上面例子中2个数的值都是0因而就相等了。如果不满足0e\d+这种模式就不会相等。这个题目在攻防平台中的md5 collision就有考到。
还存在一种十六进制余字符串进行比较运算时的问题。例子如下:
"0x1e240"=="123456" //true"0x1e240"==123456 //true"0x1e240"=="1e240" //false
当其中的一个字符串是0x开头的时候,PHP会将此字符串解析成为十进制然后再进行比较,0x1240解析成为十进制就是123456,所以与int类型和string类型的123456比较都是相等。攻防平台中的起名字真难就是考察的这个特性。
in_array()函数的第三个参数大多数情况都要传true,使其等价于全等于判断
尤其你的数组里有可能字符串和整数类型同时存在的场景下!
在PHP手册中,in_array()函数的解释是bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ),如果strict参数没有提供,$strict默认值false,那么in_array就会使用松散比较来判断$needle是否在$haystack中。当strince的值为true时,in_array()会比较needls的类型和haystack中的类型是否相同。
$array=[0,1,2,'3'];var_dump(in_array('abc', $array)); //truevar_dump(in_array('1bc', $array)); //true
可以看到上面的情况返回的都是true,因为’abc’会转换为0,’1bc’转换为1。array_search()与in_array()也是一样的问题。
来源地址:https://blog.csdn.net/weixin_39171666/article/details/130775509
--结束END--
本文标题: 经验总结以及细节问题汇总
本文链接: https://www.lsjlt.com/news/403307.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0