Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP向嵌套数组添加键_Php_Arrays_Dictionary_Key Value - Fatal编程技术网

PHP向嵌套数组添加键

PHP向嵌套数组添加键,php,arrays,dictionary,key-value,Php,Arrays,Dictionary,Key Value,我有没有键的嵌套数组。我想按特定顺序添加键。什么是干净的方法 从这个数组开始。它仅按位置索引 [0] => ( [0] => Tyler [1] => Durden [2] => 05/07/1985 ) [1] => ( [0] => Edward [1] => Norton [2] => 03/21/1988 ) 现在按顺序应用这些键: ['first_name'] => ['last_n

我有没有键的嵌套数组。我想按特定顺序添加键。什么是干净的方法

从这个数组开始。它仅按位置索引

[0] => (
    [0] => Tyler
    [1] => Durden
    [2] => 05/07/1985
)
[1] => (
    [0] => Edward
    [1] => Norton
    [2] => 03/21/1988
)
现在按顺序应用这些键:

['first_name'] =>
['last_name'] =>
['birthday'] =>
最终阵列:

[0] => (
   ['first_name'] => Tyler
   ['last_name'] => Durden
   ['birthday'] => 05/071985
)
[1] => (
    ['first_name'] => Edward
    ['last_name'] => Norton
    ['birthday'] => 03/21/1988
)
如果您的代码允许任何密钥结构,而不是硬编码,那么您将获得额外的投票权

我想我会成功的:

foreach ($bigarray as &$x) {
  $x = array_combine(array('first_name','last_name','birthday'),$x);
}

还有经典算法:

foreach($key=>$value的数组){
$array[$key]['first_name']=$array[$key][0];
$array[$key]['last_name']=$array[$key][1];
$array[$key]['birth']=$array[$key][2];
未设置($array[$key][0]);
未设置($array[$key][1]);
未设置($array[$key][2]);
}

什么是
($bigarray as&$x)
中的与号?与号允许我们在数组中循环,以便我们可以在执行时更改数组值。我自己使用了一组嵌套的foreach循环来尝试它。这是超低效的,很明显,一个更优雅的方法必须存在。我自己也试过了,谢谢。我还浏览了所有PHP函数,但没有意识到array_combine可以在这种环境下工作。