繁体   English   中英

如何在另一个键的基础上更改数组的键的值?

[英]How can I change the value of key of array base on another key?

我有这个变量,这是我的查询结果:

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
         )
)

我怎样才能做到这一点?


我可以这样检查visibility的值:

foreach ($var as $item) {
    if ($item['visibility'] == 0) {
        // I need to append two zero before the number of its id
    }
}

您开始foreach并更正了条件检查,但未在其中编写任何代码。 检查以下:-

   <?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']}";
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM