在Laravel中如何在foreach循环中访问数组元素
P粉312195700
P粉312195700 2023-09-11 00:04:14
[PHP讨论组]

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

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

这是我的 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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号