关联数组替换

时间:2018-02-20 21:56:22

标签: php arrays associative-array

这些数组包含相同的键,如下面的主题(prop是唯一的): Check if associative array contains value, and retrieve key / position in array

<?php
$array = array(
array("prop" => "1", "content" => "text"),
array("prop" => "2", "content" => "text"),
array("prop" => "3", "content" => "text"),
array("prop" => "4", "content" => "text")
);
$found = current(array_filter($array, function($item) {
  return isset($item['prop']) && 3 == $item['prop'];
}));
print_r($found);

我得到prop 3:

Array
(
  [prop] => 3
  [content] => text
)

所以我想将$array中的值替换为:

array("prop" => "3", "content" => "replaced text")

1 个答案:

答案 0 :(得分:3)

由于prop是唯一的,只需使用prop作为索引提取数组,然后以这种方式访问​​它:

$array = array_column($array, null, 'prop');
$array[3]['content'] = 'replaced text';

您可能希望使用isset来确保$array[3]['content']存在。