<?php$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);$arrField = array_map(create_function('$n', 'return $n["volume"];'), $data); print_r($arrField);exit();?>
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);$arrField = array_map(create_function('$n', 'return $n["volume"];'), $data); print_r($arrField);exit();?>
preg_match_all('#i:(\d+);s#', serialize($data), $m);
print_r($m[1]);
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);foreach($data as $d){
$arrField[] = $d['volume'];
}
echo 'foreach方法耗时:',microtime(true) - $begin;echo '<br />';
//print_r($arrField);
$begin = microtime('true');
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);$arrField = array_map(create_function('$n', 'return $n["volume"];'), $data); echo '其他方法耗时:',microtime(true) - $begin;echo '<br />';
//print_r($arrField);
结果:
foreach方法耗时:0.00011992454528809
其他方法耗时:0.0013871192932129
楼主你这样还不如直接foreach再装入新数组效率高