php分享二十四:数组
1:isset() 对于数组中为 NULL
的值不会返回 TRUE
,而 array_key_exists() 会。
2:利用array_filter和strlen快速过滤数组中等于0的值
$path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path); $parts = array_filter(explode(DIRECTORY_SEPARATOR, $path), 'strlen');
注意:对于array_filter,如果没有提供 callback
函数, 将删除 input
中所有等值为 FALSE
的条目。如果用strlen判断,则速度比不传值快。
3:array array_keys ( array $array
[, mixed $search_value
[, bool $strict
= false ]] )
返回数组,如果没有找到返回空数组array();
$array = array( 'a1' => 100, 'a2' => 100, 'a3' => 2342, 'a4' => 343, ); asort($array); print_r(array_keys($array, array_shift($array)));
输出:
Array
(
[0] => a1
[1] => a2
)
4: mixed array_search ( mixed $needle
, array $haystack
[, bool $strict
= false ] )
如果找到了 needle
则返回它的键,否则返回 FALSE
。
如果 needle
在 haystack
中出现不止一次,则返回第一个匹配的键。要返回所有匹配值的键,应该用 array_keys() 加上可选参数 search_value
来代替。
注意:此函数可能返回布尔值 FALSE
,但也可能返回等同于 FALSE
的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。
5: