1

我希望将字符串键添加到我的内部 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 但无法理解。任何帮助表示赞赏。

4

3 回答 3

4

您可以为此目的使用array_map

$newarray = array_map(function($x) {
    return array("code1" => $x[0], "code2" => $x[1], "name" => $x[2]);
}, $array); 

$array你的输入数组在哪里。

于 2015-04-23T15:56:00.190 回答
0

从这个开始:

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;
}
于 2015-04-23T15:57:46.707 回答
0

我会使用array_map(),但这里有一个替代方案:

foreach($array as &$v) {
    $v = array_combine(array('code1','code2','name'), $v);
}
于 2015-04-23T16:00:28.780 回答