【问题标题】:PHP - Add a new element into each multidimensional arrayPHP - 在每个多维数组中添加一个新元素
【发布时间】:2021-12-30 21:15:16
【问题描述】:

我有一个如下所示的数组:

Array
(
    [0] => stdClass Object
        (
            [quiz_id] => 1033
            [quiz_venue] => 6
            [quiz_host] => 46
            [quiz_golden_question] => 100
            [quiz_golden_question_outcome] => 0
            [quiz_running] => 1
            [quiz_status] => 100
            [quiz_trainee] => 0
        )

    [1] => stdClass Object
        (
            [quiz_id] => 985
            [quiz_venue] => 57
            [quiz_host] => 21
            [quiz_golden_question] => 0
            [quiz_golden_question_outcome] => 0
            [quiz_running] => 1
            [quiz_status] => 310
            [quiz_trainee] => 0
        )

我想遍历每个数组,并插入一个新值(quiz_venue_name),这就是我所拥有的;

$quizzes = $wpdb->get_results( $prepared );

        foreach ($quizzes as $quiz => $item) { 
            $venuetitle = get_the_title($item->quiz_venue);
            $quizzes['quiz_venue_name'] = $venuetitle;
        }

        return $quizzes;

但是,它所做的只是将新值作为新数组添加到多维数组的最后 - 而不是将它们添加到每个数组中!

我觉得我做错了什么,所以非常感谢任何帮助!

我需要的最终结果是;

Array
(
    [0] => stdClass Object
        (
            [quiz_id] => 1033
            [quiz_venue] => 6
            [quiz_host] => 46
            [quiz_golden_question] => 100
            [quiz_golden_question_outcome] => 0
            [quiz_running] => 1
            [quiz_status] => 100
            [quiz_trainee] => 0
[quiz_venue_name] => NEW VALUE
        )

    [1] => stdClass Object
        (
            [quiz_id] => 985
            [quiz_venue] => 57
            [quiz_host] => 21
            [quiz_golden_question] => 0
            [quiz_golden_question_outcome] => 0
            [quiz_running] => 1
            [quiz_status] => 310
            [quiz_trainee] => 0
[quiz_venue_name] => NEW VALUE
        )

【问题讨论】:

    标签: php arrays


    【解决方案1】:

    您的$quizzes 变量是一个对象数组(stdClass 的实例),因此您应该使用它的属性在每次迭代中设置值($item->quiz_venue_name 而不是$quizzes['quiz_venue_name']):

    ...
    foreach ($quizzes as $quiz => $item) { 
        $venuetitle = get_the_title($item->quiz_venue);
        $item->quiz_venue_name = $venuetitle;
    }
    ...
    

    事实上,$quizzes['quiz_venue_name']=... 代码将在$quizzes 数组的根中为索引quiz_venue_name 设置一个值。

    【讨论】:

      猜你喜欢
      • 2012-01-16
      • 2021-03-20
      • 1970-01-01
      • 2021-04-21
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多