将字符串键添加到内部数组
adding string keys to inner arrays
我希望将字符串键添加到我的内部 PHP 数组中。所以,我想转换这个:
array (size=2)
0 => array (size=3)
0 => string 'X705' (length=4)
1 => string 'X723' (length=4)
2 => string 'Sue' (length=0)
1 => array (size=3)
0 => string 'X714' (length=4)
1 => string 'X721' (length=4)
2 => string 'John' (length=0)
对此:
array (size=2)
0 =>
array (size=3)
'code1' => string 'X705' (length=4)
'code2' => string 'X723' (length=4)
'name' => string 'Sue' (length=0)
1 =>
array (size=3)
'code1' => string 'X714' (length=4)
'code2' => string 'X721' (length=4)
'name' => string 'John' (length=0)
我想我需要使用 array_walk 但无法理解。任何帮助表示赞赏。
您可以使用 array_map 来达到这个目的:
$newarray = array_map(function($x) {
return array("code1" => $x[0], "code2" => $x[1], "name" => $x[2]);
}, $array);
其中 $array
是您的输入数组。
从这里开始:
foreach ($array as $key=>$item) {
$item['code1']=$item[0];
unset($item[0]);
$item['code2']=$item[1];
unset($item[1]);
$item['name']=$item[2];
unset($item[2]);
$array[$key]=$item;
}
我会使用 array_map()
但这里有一个替代方案:
foreach($array as &$v) {
$v = array_combine(array('code1','code2','name'), $v);
}
我希望将字符串键添加到我的内部 PHP 数组中。所以,我想转换这个:
array (size=2)
0 => array (size=3)
0 => string 'X705' (length=4)
1 => string 'X723' (length=4)
2 => string 'Sue' (length=0)
1 => array (size=3)
0 => string 'X714' (length=4)
1 => string 'X721' (length=4)
2 => string 'John' (length=0)
对此:
array (size=2)
0 =>
array (size=3)
'code1' => string 'X705' (length=4)
'code2' => string 'X723' (length=4)
'name' => string 'Sue' (length=0)
1 =>
array (size=3)
'code1' => string 'X714' (length=4)
'code2' => string 'X721' (length=4)
'name' => string 'John' (length=0)
我想我需要使用 array_walk 但无法理解。任何帮助表示赞赏。
您可以使用 array_map 来达到这个目的:
$newarray = array_map(function($x) {
return array("code1" => $x[0], "code2" => $x[1], "name" => $x[2]);
}, $array);
其中 $array
是您的输入数组。
从这里开始:
foreach ($array as $key=>$item) {
$item['code1']=$item[0];
unset($item[0]);
$item['code2']=$item[1];
unset($item[1]);
$item['name']=$item[2];
unset($item[2]);
$array[$key]=$item;
}
我会使用 array_map()
但这里有一个替代方案:
foreach($array as &$v) {
$v = array_combine(array('code1','code2','name'), $v);
}