0
array_key_exists($name, $defaults)
isset($defaults[$name])
array_key_exists($name, $defaults)
isset($defaults[$name])
是的,有區別。 isset
回報假如果值爲空而array_key_exists
並不:
$defaults = array('foobar' => null);
var_dump(array_key_exists('foobar', $defaults)); // bool(true)
var_dump(isset($defaults['foobar'])); // bool(false)
所以,你應該始終使用array_key_exists
數組鍵,除非你不想有所作爲的數組項是否存在是null。
下面是來自PHP手冊的一個快速評論,講述了兩者之間的performance differences!
但他們做同樣的事情: - \
罷工,我是一個白癡。
不,他們不會做同樣的事情:'isset'在定義值時會返回'false',但是'null'; 'array_key_exists',另一方面,將返回'true' ;;;請參閱示例2的註釋:http://php.net/array_key_exists – 2010-03-03 18:02:44