Skip to content

Instantly share code, notes, and snippets.

@vanchelo
Created February 5, 2013 13:34
Show Gist options
  • Save vanchelo/4714491 to your computer and use it in GitHub Desktop.
Save vanchelo/4714491 to your computer and use it in GitHub Desktop.
<?php
$range=20; //Размер массива
$arrInt = range(0, $range); //Создаем массив array(0=>1, 1=>2 , 2=>3, ... (n-1)=>n); где n = $range
$arrNull=array_fill(0,$range,null); //Создаем массив с $range элементами значение которых null
$arr = array_merge($arrInt,$_SERVER,$arrNull); //Смешиваем все массивы
$find = (rand(0,1) ? 'несуществующий индекс' : array_rand($arr,1)); //Определяем какой индекс будем искать
echo "<h3>Поиск элемента с индексом <u>{$find}</u> в массиве \$arr</h3>";
show(
'Проверяем создан ли элемент в массиве. Но не находим элементы со значением null',
microtime(true),
(isset($arr[$find]))
);
show(
'Проверка при помощи функции array_key_exists',
microtime(true),
(is_array($arr) && array_key_exists($find,$arr))
);
show(
'Извращенный поиск по массиву всех ключей',
microtime(true),
(is_array($arr) && in_array($find,array_keys($arr)))
);
if(count($arr) <= 2000){
echo '<h2>Содержимое массива $arr</h2><pre>';
var_export($arr);
echo "</pre>";
}
function show($desc, $time, $data){
$time = (microtime(true) - $time);
echo sprintf(
'<h2>%s</h2> <strong>%s</strong><br />Затрачено времени: <strong> %f </strong> сек.<hr />',
$desc,
($data ? 'Элемент найден' : '<span style="color:red">Нет элемента</span>'),
$time
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment