php注意事项

1.in_array

看代码

<?php
$arr = [1,2,3];
if(in_array('1nihao', $arr)){
    echo 'yes';
}else{
    echo 'no';
}

出乎意料,结果是yes,why?

查看php的官方文档 in_array

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

原来还有第三个参数,将第三个参数设置为true的时候,会要求数据类型一致。  默认是false,上面的案例将字符串'1nihao'强制转换成了1,检测出了错误的结果。

综上,以后检测的时候要添加最后的参数true.

 

2.array_filter

function odd($var)
{
    // returns whether the input integer is odd
    return($var & 1);
}

function even($var)
{
    // returns whether the input integer is even
    return(!($var & 1));
}

$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);

echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));

array_filter — 用回调函数过滤数组中的单元

如果没有提供 callback 函数, 将删除 input 中所有等值为 FALSE 的条目 

 

 

posted @ 2016-06-24 10:54  skytree  阅读(184)  评论(0)    收藏  举报