PHP in_array() array_search() array_key_exists() 应用

in_array() = 检查数组中是否存在某个值(元素)。
in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ),$strict默认为FALSE,是宽松比较。注意:如果$strict设置为TRUE,除了比较大小,还有相同的数据类型。
如果找到 $needle 返回true,否则返回false。

$os = array('Mac','Windows','Linux');
var_dump(in_array('Mac',$os));     // bool(true)
var_dump(in_array('windows',$os)); // bool(false) 
echo "<br>";

$num = array(1.0,3,'4');
var_dump(in_array(1,$num,true));   // bool(false)
var_dump(in_array(1,$num,false));  // bool(true)
var_dump(in_array(1.0,$num,true)); // bool(true) 
var_dump(in_array(3,$num,true));   // bool(true)
var_dump(in_array('3',$num,true)); // bool(false) 
var_dump(in_array(4,$num,true));   // bool(false)
var_dump(in_array(4,$num,false));  // bool(true)
var_dump(in_array('4',$num,true)); // bool(true)
echo "<br>";

$arr = array(array('a','b'),array('c','d'),'e');
var_dump(in_array(array('a','b'),$arr)); // bool(true)
var_dump(in_array(array('x','y'),$arr)); // bool(false)
var_dump(in_array('e',$arr));            // bool(true)
echo "<br>";

array_search() = 在数组中搜索给定的值,如果成功则返回首个相应的键名。
array_search ( mixed $needle , array $haystack [, bool $strict = false ] ),$strict默认为FALSE,是宽松比较。注意:如果 $strict 设置为TRUE,除了比较大小,还有相同的数据类型。
如果找到 $needle 返回它的键,否则返回 FALSE。 

$arr = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
var_dump(array_search('green', $arr)); // int(2)
var_dump(array_search('red', $arr));   // int(1)
var_dump(array_search('blue', $arr));  // int(0)
var_dump(array_search('Blue', $arr));  // bool(false) 
echo "<br>";

$arr = array('a' => 4, 'b' => '4','c' => 4);
var_dump(array_search(4,$arr,true));   // string(1) "a"
var_dump(array_search('4',$arr,true)); // string(1) "b"
echo "<br>";

array_key_exists() = 检查数组里是否有指定的键名或索引。
array_key_exists ( mixed $key , array $array ),如果存在指定的 $key 返回true,否则返回false。注意:array_key_exists() 仅仅搜索第一维的键。 多维数组里嵌套的键不会被搜索到。 

$arr = array('bb' => 'CC', 'cc' => 'DD');
var_dump(array_key_exists('bb',$arr)); // bool(true) 

猜你喜欢

转载自blog.csdn.net/uvyoaa/article/details/85222490