一、问题一关于弱类型php
$str1 = 'yabadabadoo'; $str2 = 'yaba'; if (strpos($str1,$str2)) { echo "\\"" . $str1 . "\\" contains \\"" . $str2 . "\\""; } else { echo "\\"" . $str1 . "\\" does not contain \\"" . $str2 . "\\""; }
正确运行的输出结果:code
"yabadabadoo" does not contain "yaba"字符串
strpos是返回字符串str2在str1的位置,没有找到则返回false然而实际上此次返回了0而在if语句中0也被看成false,因此,咱们须要对false作类型判断,正确的代码以下:效率
$str1 = 'yabadabadoo'; $str2 = 'yaba'; if (strpos($str1,$str2) !== false) { echo "\\"" . $str1 . "\\" contains \\"" . $str2 . "\\""; } else { echo "\\"" . $str1 . "\\" does not contain \\"" . $str2 . "\\""; }
须要注意的是咱们使用了!==,在php 和 JS中= !相对== 更为严格须要要求数据类型的一致。数据类型
二、下面的输出结果会是怎样?程序
$x = 5; echo $x; echo " "; echo $x+++$x++; echo " "; echo $x; echo " "; echo $x---$x--; echo " "; echo $x; 实际运行结果是 5 11 7 1 5
x++和x++和x--这个问题其实很是容易碰见,咱们只需记住$x++使用最近的值,而后才自增。数据
运算符的优先级,++ 是明显高于 +,所以先执行++ 再执行 + 。关于运算符的优先级,有的时候咱们真的能够经过括号来让咱们的程序更加让人直观的了解,毕竟代码它不光是用于执行的,有的时候或许团队的可读性也是提升效率的一种。co