搜尋

首頁  >  問答  >  主體

在Laravel中如何在foreach循環中存取數組元素

我創建了一個自訂數組來儲存問題和答案,但每當我嘗試存取這些數組元素時,它都會讓我 嘗試讀取數組上的屬性「問題」(

實際上,我已經建立了一個自訂陣列。當我嘗試在沒有自訂數組的情況下創建時,它工作正常。就像從直接雄辯模型中獲取數據效果很好

這是我的 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粉312195700P粉312195700430 天前555

全部回覆(1)我來回復

  • P粉004287665

    P粉0042876652023-09-11 12:16:13

    關聯數組和物件在 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

    回覆
    0
  • 取消回覆