这是因为PHP认为'10'及'20'是数字,进行了reindexing。
试试:
PHP复制代码
$result = array(
'0'=>array('Code'=>'01','Name'=>'开始'),
'1'=>array('Code'=>'02','Name'=>'计划中'),
'2'=>array('Code'=>'03','Name'=>'停止'),
'3'=>array('Code'=>'010','Name'=>'暂停'),
'4'=>array('Code'=>'020','Name'=>'测试')
);
var_dump($result);
echo '<br />';
$test = array();
foreach($result as $k=>$v) {
$test = array_merge($test,array($v['Code']=>$v['Name']));
}
var_dump($test);
echo '<br/>';
print_r($test);
复制代码
或:
PHP复制代码
$result = array(
'0'=>array('Code'=>'01','Name'=>'开始'),
'1'=>array('Code'=>'02','Name'=>'计划中'),
'2'=>array('Code'=>'03','Name'=>'停止'),
'3'=>array('Code'=>'10','Name'=>'暂停'),
'4'=>array('Code'=>'20','Name'=>'测试')
);
var_dump($result);
echo '<br />';
$test = array();
foreach($result as $k=>$v) {
$test += array($v['Code']=>$v['Name']);
}
var_dump($test);
echo '<br/>';
print_r($test);
复制代码
注意!后面用+的例子,看到'01','02'及'03',但后面两个是10及20,并无引号。 |