在Laravel中如何在foreach循环中访问数组元素
P粉312195700
P粉312195700 2023-09-11 00:04:14
0
1
594

我创建了一个自定义数组来存储问题和答案,但每当我尝试访问这些数组元素时,它都会让我 尝试读取数组上的属性“问题”(

实际上,我已经创建了一个自定义数组。当我尝试在没有自定义数组的情况下创建时,它工作正常。就像从直接雄辩模型中获取数据效果很好

这是我的 JSON 响应...

@foreach ($questionsArray as $i => $data)
                              <div class=" p-3 m-1 text-left">
                                <p class="font-weight-bold">Q.{{$i + 1}} {{$data->question}}</p>
                              // error is here !
                              
                              @endforeach
$questionsArray = array();

        foreach ($questions as $question) {

            $answers = tbl_answer::where('answer_question_table_id', $question->question_id)->get();
            $questionsArray[] = array(
                "question" => array($question),
                "answers"  => array($answers)
            );
        }

P粉312195700
P粉312195700

全部回复(1)
P粉004287665

关联数组和对象在 php 中不是一回事。

在这里,您正在将带有键 questionanswers 的数组推送到 questionsArray 中:

$questionsArray[] = array(
                "question" => array($question),
                "answers"  => array($answers)
            );

所以你应该使用数组访问来读取它。假设 $data$questionsArray 的元素,您将拥有 {{ $data['question'] }} 而不是 { { $data->问题 }}

当然,您已将一些问题实体或关联数组包装在另一个数组中,并将其放入 $data['question]` 中,因此打印输出将不起作用。

也许尝试这样的事情:

$questionsArray[] = [
                "question" => $question,
                "answers"  => $answers
            ];

然后在刀片文件中读取问题的属性:

@foreach ($questionsArray as $i => $data)

    <div class=" p-3 m-1 text-left">
    <p class="font-weight-bold">Q.{{$i + 1}} {{$data['question']['question_title']}}</p>
                              
@endforeach
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板