isset()
обычно быстрее, чем array_key_exists()
. Параметр $default
инициализируется пустой строкой, если она опущена.
function getItem($array, $key, $default = "") {
return isset($array[$key]) ? $array[$key] : $default;
}
// Call as
$array = array("abc" => 123, "def" => 455);
echo getItem($array, "xyz", "not here");
// "not here"
Однако, если ключ массива существует, но имеет значение NULL, isset()
не будет вести себя так, как вы ожидаете, поскольку он будет обрабатывать NULL
так, как если бы он не существовал, и возвращал $default
. Если вы ожидаете NULL
s в массиве, вы должны использовать array_key_exists()
вместо.
function getItem($array, $key, $default = "") {
return array_key_exists($key, $array) ? $array[$key] : $default;
}