<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
function numeric_test() {
$array = range(0, 100000);
$start = microtime(true);
for ($i = 0; $i < 100000; $i++) {
$array[12345];
}
echo 'Lookup by numeric index: ', microtime(true) - $start, PHP_EOL;
}
function numeric_string_test() {
$array = range(0, 100000);
$start = microtime(true);
for ($i = 0; $i < 100000; $i++) {
$array['12345'];
}
echo 'Lookup by numeric string: ', microtime(true) - $start, PHP_EOL;
}
function string_test() {
$array = array();
$key = 'a';
for ($i = 0; $i < 100000; $i++) {
$array[$key++] = 'foo';
}
$start = microtime(true);
for ($i = 0; $i < 100000; $i++) {
$array['abc'];
}
echo 'Lookup by string index: ', microtime(true) - $start, PHP_EOL;
}
numeric_test();
numeric_string_test();
string_test();
numeric_test();
numeric_string_test();
string_test();
numeric_test();
numeric_string_test();
string_test();