将PHP数组动态值转换为静态键
问题: 我有一个像这样的PHP数组将PHP数组动态值转换为静态键,php,arrays,Php,Arrays,问题: 我有一个像这样的PHP数组 Array ( [read] => 0 [edit_posts] => 1 [delete_posts] => 2 ) Array ( [read] => 1 [edit_posts] => 1 [delete_posts] => 1 ) 我必须像这样把值0,1,2改成1 Array ( [read] => 0 [edit_posts] => 1
Array
(
[read] => 0
[edit_posts] => 1
[delete_posts] => 2
)
Array
(
[read] => 1
[edit_posts] => 1
[delete_posts] => 1
)
我必须像这样把值0,1,2改成1
Array
(
[read] => 0
[edit_posts] => 1
[delete_posts] => 2
)
Array
(
[read] => 1
[edit_posts] => 1
[delete_posts] => 1
)
我怎样才能做到这一点?
任何帮助都将不胜感激
谢谢和问候
Uzair Ahmed您可以通过多种方式对其进行更改,但最简单的方式是通过功能进行更改
<?php
$initial = [
'read' => 0,
'edit_posts' => 1,
'delete_posts' => 2
];
$update = [
'read' => 1,
'edit_posts' => 1,
'delete_posts' => 1
];
// Old values
var_dump($initial);
// Change with array_replace function same keys
$newArray = array_replace($initial, $update);
// Check if values changed
var_dump($newArray);
如果要将相同的值放入整个数组,只需运行它并初始化它
array_walk($array,function(&$value){$value = 1;});
值是通过引用传递的。Hi Eden,感谢您的帮助。我已经找到了一个解决方法,谢谢你的更新。如果其中一个解决方案对您有所帮助,我会很高兴您将问题标记为“已解决”,这样,在您之后阅读问题的人都可以得到有助于他的答案。嗨,伊登,请确认,我已更改了创建数组的基础。类似这样的“删除帖子,编辑帖子,'创建帖子”到“删除帖子:1,编辑帖子:1,'创建帖子:1”,所以这些更改满足了我的要求Shi Kale,谢谢你的帮助。我找到了一个解决办法