我有两个数组,其中一个包含一个新的键名
$assoc = ['name', 'lastname', 'pesel'];
第二看这个
$inputs = ['John', 'Don', '987987', 'Mike', 'Evans', '89779' ];
数组$assoc
是新的密钥名称,我想将[0]
,[1]
更改为['name']
等
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"
}
}
感谢您的帮助
答案 0 :(得分:5)
这很简单:
$new_array = array();
foreach(array_chunk($inputs, 3) as $person) {
$new_array[] = array_combine($assoc, $person);
}
答案 1 :(得分:-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);
这是一个更冗长和通用的用途..我实际上已经使用了很多递归..