Очередное маленькое бесполезное исследование скорости работы двух похожих функций.
Код и результаты, как водится, ниже.
<?php
$array = range(0, 1000000, 3);
$start = microtime(true);
for ($i = 0; $i < 1000000; $i++) {
array_key_exists($i, $array);
}
$end = microtime(true);
echo 'array_key_exists: ' . ($end - $start) . PHP_EOL;
$start = microtime(true);
for ($i = 0; $i < 1000000; $i++) {
isset($array[$i]);
}
$end = microtime(true);
echo 'isset: ' . ($end - $start) . PHP_EOL;
array_key_exists: 0.13523197174072 isset: 0.055444002151489