Php 如何基于另一个键更改数组键的值?
我有一个变量,它是我查询的结果:Php 如何基于另一个键更改数组键的值?,php,arrays,Php,Arrays,我有一个变量,它是我查询的结果: Array( [0] => Array ( [id] => 1 [visibility] => 0 ) [2] => Array ( [id] => 2 [visibility] => 1 ) [3] =&g
Array(
[0] => Array
(
[id] => 1
[visibility] => 0
)
[2] => Array
(
[id] => 2
[visibility] => 1
)
[3] => Array
(
[id] => 3
[visibility] => 0
)
)
现在我想更改[id]项目的编号,当其[visibility]为0时。例如,我想在[id]的数字开头追加00。这是预期产出:
Array(
[0] => Array
(
[id] => 001
[visibility] => 0
)
[2] => Array
(
[id] => 2
[visibility] => 1
)
[3] => Array
(
[id] => 003
[visibility] => 0
)
)
我该怎么做
我可以这样检查可见性的值:
foreach ($var as $item) {
if ($item['visibility'] == 0) {
// I need to append two zero before the number of its id
}
}
您启动了foreach和correct条件检查,但没有在其中编写任何代码。检查以下内容:-
<?php
foreach ($var as $key=> $item) {
if ($item['visibility'] == 0) { // if visibility is 0
$var[$key]['id'] = "00". $var[$key]['id']; // add 00 to corresponding id in the original array
}
}
echo "<pre/>";print_r($var);
?>
您启动了foreach和correct条件检查,但没有在其中编写任何代码。检查以下内容:-
<?php
foreach ($var as $key=> $item) {
if ($item['visibility'] == 0) { // if visibility is 0
$var[$key]['id'] = "00". $var[$key]['id']; // add 00 to corresponding id in the original array
}
}
echo "<pre/>";print_r($var);
?>
更容易引用$item并对其进行更改:
foreach ($var as &$item) {
if ($item['visibility'] == 0) {
$item['id'] = "00{$item['id']}";
}
}
更容易引用$item并对其进行更改:
foreach ($var as &$item) {
if ($item['visibility'] == 0) {
$item['id'] = "00{$item['id']}";
}
}
引用是:在$item还有一个例子是引用$var中的每个数组,所以它可以工作是的。00{$item['id']}中的{}是什么?用于双引号中的复杂变量,因为只有$item['id']不起作用。引用是:在$item还有一个例子是引用$var中的每个数组,所以它可以工作是的。00{$item['id']}中的{}是什么?用于双引号中的复杂变量,因为仅$item['id']不起作用。