在控制器中验证动态保存方法时,我想确保给定的情况只接受0和1作为有效值.当我尝试操作输入表单时,将'aaa'作为值提交,以下内容仍然返回true.这是为什么?
var_dump(in_array('aaa', [0, 1])); // true, I was expecting it to return false
Run Code Online (Sandbox Code Playgroud)
您需要使用"严格"设置,以强制该函数检查元素的类型:
var_dump(in_array('aaa', [0, 1], true));
Run Code Online (Sandbox Code Playgroud)
http://php.net/manual/en/function.in-array.php说明
如果第三个参数strict设置为TRUE,那么in_array()函数也将检查haystack中针的类型.
它返回true的原因是因为字符串是真的,同样如此1.
if( "aaa" ){ echo "you will see me"; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |