<?php
// foreach, array_map, array_walkÂ®ÅÙÈæ³Ó

// ·ë²Ì
// foreach : 1.05 s
// array_map : 4.74 s
// array_walk : 5.21 s

set_time_limit(0);

define('LOOP', 100000);

$_ary = array();
for($i=0;$i<LOOP;$i++){
	$_ary[$i] = rand();
}

$ary = $_ary;
$start = microtime_float();
array_foreach_convert($ary);
printf("foreach : %.2f s\n", microtime_float() - $start);

$ary = $_ary;
$start = microtime_float();
$ary = array_map('array_map_convert', $ary);
printf("array_map : %.2f s\n", microtime_float() - $start);

$ary = $_ary;
$start = microtime_float();
array_walk($ary, 'array_walk_convert');
printf("array_walk : %.2f s\n", microtime_float() - $start);

function array_foreach_convert(&$ary)
{
	foreach($ary as $key => $val){
		$ary[$key] = "'" . addSlashes($val) . "'";
	}
}

function array_map_convert($val)
{
	return "'" . addSlashes($val) . "'";
}

function array_walk_convert(&$val, $key)
{
	$val = "'" . addSlashes($val) . "'";
}

function microtime_float() 
{ 
    list($usec, $sec) = explode(' ', microtime()); 
    return ((float)$usec + (float)$sec); 
}
exit;
