<?php
$arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
$arrK = array_combine($arr, array_fill(0, count($arr), true));
$iters = 1_000_000;
$t = microtime(true);
for ($i = 0; $i < $iters; $i++) {
$v = ($i % 2) ? 'a' : 'c';
$res = in_array($v, $arr);
$res = in_array($v, $arr);
$res = in_array($v, $arr);
$res = in_array($v, $arr);
}
var_dump(microtime(true) - $t);
$t = microtime(true);
for ($i = 0; $i < $iters; $i++) {
$v = ($i % 2) ? 'a' : 'c';
$res = array_key_exists($v, $arrK);
$res = array_key_exists($v, $arrK);
$res = array_key_exists($v, $arrK);
$res = array_key_exists($v, $arrK);
}
var_dump(microtime(true) - $t);
$t = microtime(true);
for ($i = 0; $i < $iters; $i++) {
$v = ($i % 2) ? 'a' : 'c';
$res = array_key_exists($v, array_keys($arr));
$res = array_key_exists($v, array_keys($arr));
$res = array_key_exists($v, array_keys($arr));
$res = array_key_exists($v, array_keys($arr));
}
var_dump(microtime(true) - $t);
print_r(opcache_get_status());
preferences:
23.11 ms | 411 KiB | 5 Q