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']不起作用。