在多维数组中的每个数组元素中添加键值对

时间:2016-05-11 15:58:22

标签: php arrays

是否可以不使用 foreach 向每个数组元素添加键值? 我需要在所有数组的末尾添加 type =>图片。 我有这样的数组:

array(5) {
  [0]=>
  array(7) {
    ["idfile"]=>
    string(2) "71"
    ["iduser"]=>
    string(1) "1"
    ["name"]=>
    string(60) "11745552_873843849371628_3215645663726390853_n-57335133dee48"
    ["extension"]=>
    string(3) "jpg"
    ["isImage"]=>
    string(1) "1"
    ["is_deleted"]=>
    string(1) "0"
    ["add_date"]=>
    string(19) "2016-05-11 15:35:15"
  }
  [1]=>
  array(7) {
    ["idfile"]=>
    string(2) "72"
    ["iduser"]=>
    string(1) "1"
    ["name"]=>
    string(19) "black-57335133e1ded"
    ["extension"]=>
    string(3) "jpg"
    ["isImage"]=>
    string(1) "1"
    ["is_deleted"]=>
    string(1) "0"
    ["add_date"]=>
    string(19) "2016-05-11 15:35:15"
  }
  [2]=>
  array(7) {
    ["idfile"]=>
    string(2) "73"
    ["iduser"]=>
    string(1) "1"
    ["name"]=>
    string(21) "Canon_1-57335133e4394"
    ["extension"]=>
    string(3) "jpg"
    ["isImage"]=>
    string(1) "1"
    ["is_deleted"]=>
    string(1) "0"
    ["add_date"]=>
    string(19) "2016-05-11 15:35:15"
  }
}

1 个答案:

答案 0 :(得分:2)

您可以使用array_walk()并将回调的第一个参数定义为参考,但我认为foreach的速度要快一些。

array_walk($array, function (&$value) {
    $value['type'] = 'image';
});