Как удалить повторяющиеся значения из цикла foreach в php

Приветствую У меня есть массив разделов, и вопрос, связанный с этим разделом, выглядит так

Как удалить повторяющиеся значения из цикла foreach в php

И я перебираю этот массив и вывожу содержимое на экран вот код

 @foreach($sections as $section)
                    <div class = "form-group">
                        <h2>{{ $section['section_name'] }}</h2>
                        <p>{{ $section['section_description'] }}</p>
                        <p>{{ $section['section_intro'] }}</p>
                    </div>
                    <div class = "form-group ms-5">
                        @foreach($section['question'] as $question)
                            <h5>{{ $question['question_name'] }}</h5>
                            <p class = "ms-3">{{ $question['question_description'] }}</p>
                        @endforeach
                    </div>
                @endforeach

И результат этого выглядит так

Как удалить повторяющиеся значения из цикла foreach в php

Как я могу удалить это повторяющееся имя_вопроса? Я просто хочу, чтобы он написал его один раз, например, он записывает один ключевой контракт и два этих вопроса_описания для всех из них?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
26
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий
 @foreach($sections as $section)
     <div class = "form-group">
         <h2>{{ $section['section_name'] }}</h2>
         <p>{{ $section['section_description'] }}</p>
         <p>{{ $section['section_intro'] }}</p>
     </div>
     <div class = "form-group ms-5">
         @php
             $questions = [];
             foreach($section['question'] as $question){
                 $questions[$question['question_name']][] = $question['question_description'];
             }
         @endphp
         @foreach($questions as $question_name=>$question_descriptions)
             <h5>{{ $question_name }}</h5>
             @foreach($question_descriptions as $question_description)
                 <p class = "ms-3">{{ $question_description }}</p>
             @endforeach
         @endforeach
     </div>
 @endforeach

Я не пробовал, но думаю, что это сработает. Я храню вопросы и описания в массиве, где ключом является не индекс, а имя.

Возможно, вы могли бы сопоставить вопросы в группы по названию вопроса перед отправкой для просмотра. Что-то вроде этого (например, для начала):

$sections = collect($sections)->map(function($section, $key){
  return [
    "section" => $section,
    "grouped_questions"=> collect($section["question"])->mapToGroups(function($question, $key){
       return [$question['question_name'] => $question];
     })->toArray()
  ];
});

Это даст вам вопросы, сгруппированные по их имени.

Другие вопросы по теме