【问题标题】:How to update the value inside the array?如何更新数组中的值?
【发布时间】:2022-07-07 14:17:17
【问题描述】:

我正在使用 PHP,我有一个数组,我正在根据某些条件更新数组中的值,它在 if 块中,但值没有更新,你能给出建议我错过了什么吗..?

转储 $data['bookslist']

Array
(
    [0] => Array
        (
            [id] => 22
            [book_name] => tank1
            [book_type] => 1
            [status] => 1
        )

    [1] => Array
        (
            [id] => 23
            [book_name] => g1
            [book_type] => 2
            [status] => 1
        )
)

代码

foreach($data['bookslist'] as $value){
            if(array_key_exists('book_type',$value)){

                if($value['book_type'] == '1'){
                    $data['bookslist'][$value]['book_type'] = 'Horror';
                    break;
                }
                if($value['book_type'] == '2'){
                    $value['book_type'][$value]['book_type']= 'Comedy';
                    break;
                }
                
            }
        }

【问题讨论】:

    标签: php arrays foreach


    【解决方案1】:

    您使用 $value 作为键,但它是一个数组。 通过使用传递引用,您可以修改数组。 建议:如果 book_type 有限,也可以使用 switch case。

    foreach($data['bookslist'] as &$value){
            if(array_key_exists('book_type',$value)){
    
                if($value['book_type'] == '1'){
                    $value['book_type'] = 'Horror';
                    break;
                }
                if($value['book_type'] == '2'){
                    $value['book_type']= 'Comedy';
                    break;
                }
                
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-19
      • 2019-11-25
      • 2019-03-14
      • 2021-10-14
      • 2021-08-19
      • 2017-05-20
      • 2019-03-04
      • 1970-01-01
      相关资源
      最近更新 更多