[ create a new paste ] login | about

Link: http://codepad.org/wxoPHJeS    [ raw code | output | fork ]

PHP, pasted on Sep 18:
<?php

// 1
$begin=microtime(true);

$key1='keY9'; // searching this
$arr1=array(
	'KEY1'=>'value1',
	'KEY2'=>'value2',
	'KEY3'=>'value3',
	'KEY4'=>'value4',
	'KEY5'=>'value5',
	'KEY6'=>'value6',
	'KEY7'=>'value7',
	'KEY8'=>'value8',
	'KEY9'=>'value9',
	'KEY10'=>'value10',
	'KEY11'=>'value11',
	'KEY12'=>'value12',
	'KEY13'=>'value13',
	'KEY14'=>'value14',
	'KEY15'=>'value15',
);

for($i=0; $i<10000; $i++)
{
	$result=array_change_key_case($arr1);
	if(isset($result[$key1]))
	{
		$result=$result[$key1];
		assert($result === 'value9');
	}
}

$time=microtime(true)-$begin;
echo "\t\tResult: {$time}\n";

// ============

// 2
$begin=microtime(true);

$key2='keY9'; // searching this
$arr2=array(
	'KEY1'=>'value1',
	'KEY2'=>'value2',
	'KEY3'=>'value3',
	'KEY4'=>'value4',
	'KEY5'=>'value5',
	'KEY6'=>'value6',
	'KEY7'=>'value7',
	'KEY8'=>'value8',
	'KEY9'=>'value9',
	'KEY10'=>'value10',
	'KEY11'=>'value11',
	'KEY12'=>'value12',
	'KEY13'=>'value13',
	'KEY14'=>'value14',
	'KEY15'=>'value15',
);

for($i=0; $i<10000; $i++)
{
	$keys=array_keys($arr2);
	$result=array_search(strtolower($key2),array_map('strtolower',$keys));
	if($result!==false)
		assert($arr2[$keys[$result]] === 'value9');
}

$time=microtime(true)-$begin;
echo "\t\tResult: {$time}\n";


Output:
1
2
		Result: 0.13318490982056
		Result: 0.31204509735107


Create a new paste based on this one


Comments: