- highlight_file: documentation ( source)
- microtime: documentation ( source)
- array_walk: documentation ( source)
- sprintf: documentation ( source)
<?php
function init(&$select, &$params){
$select = array('key'=>1, 'key2'=>'one', 'key3'=>3333.333);
$params = array();
}
//echo 'array_walk: ';
init($select, $params);
$start_time = microtime(TRUE);
array_walk($select, function(&$val, $id) {
$params[$id] = $val;
$val = "{$id} = :{$id}";
});
$end_time = microtime(TRUE);
$walk_time = $end_time - $start_time;
//echo 'foreach: ';
init($select, $params);
$start_time = microtime(TRUE);
foreach($select as $id => &$val){
$params[$id] = $val;
$val = "{$id} = :{$id}";
}unset($val);
$end_time = microtime(TRUE);
$foreach_time = $end_time - $start_time;
echo "<pre>
ArrayWalk Time: ".sprintf('%.10F', $walk_time)."
Foreach Time: ".sprintf('%.10F', $foreach_time)."
array_walk > foreach: ".($walk_time > $foreach_time)."
foreach > array_walk ".($foreach_time > $walk_time)."</pre>";
?><div style="border: 1px solid gray; width: 640px; background-color: #F0F0F0">
Source Code<br><?PHP
highlight_file(__FILE__);
?></div><?PHP