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: