0

我有两个数组,其中一个包含一个新的键名

$assoc = ['name', 'lastname', 'pesel']; 

第二个看看这个

$inputs = ['John', 'Don', '987987', 'Mike', 'Evans', '89779' ];

Array$assoc是新的键名,我想将 ,[0]更改[1]['name']etc

array(2) {
  ['person'] =>
  array(3) {
    ['name'] => string(4) "John"
    ['lastname'] => string(3) "Don"
    ['pesel'] => string(6) "987987"
  }
  ['person'] =>
  array(3) {
    ['name'] => string(4) "Mike"
    ['lastname'] => string(5) "Evans"
    ['pesel'] => string(5) "89779"
  }
}

谢谢你的帮助

4

2 回答 2

5

这很简单:

$new_array = array();

foreach(array_chunk($inputs, 3) as $person) {
   $new_array[] = array_combine($assoc, $person);
}
于 2013-03-10T16:11:57.020 回答
-1
<?php
$assoc=Array("name", "lastname", "pesel");
$inputs=Array('John', 'Don', '987987', 'Mike', 'Evans', '89779' );

$resultant_array=Array();
for($i=0; $i<count($inputs); $i+=count($assoc)){
//echo $i."\n\n";
 for($j=0; $j<count($assoc); $j++){

    $b2g[$assoc[$j]]=$inputs[$i+$j];
 }
 $resultant_array[]=$b2g;
}   

print_r($resultant_array);

这是一个更冗长和通用的用途..我实际上已经使用了很多递归..

于 2013-03-10T16:21:01.727 回答