итерация foreach для соответствия содержимому массива - PullRequest
0 голосов
/ 23 января 2019

У меня есть массив, принимающий значения, соответствующие указанному ключу, и выводит результаты в таблицу.Я хочу иметь функциональность, чтобы при щелчке по каждому из этих элементов появлялось модальное окно с дополнительной информацией об элементе.

Я получил JSON из источника, который содержит пары ключ / значение.Я заполнил массив значениями, которые соответствуют данному ключу, и у меня есть эти распечатки.У меня есть код, чтобы открыть модал.Теперь мне нужно модальное, чтобы получить необходимые детали, поэтому я повторил вышеописанные шаги, чтобы заполнить массив значениями из клавиши [DESCRIPTION].

  $subjectList = array();
  foreach($responseResult as $subject) {       // Loop over JSON and fill an  
    $subjectList[] = $subject['subject'];      // array with subject.
  }
  $modalContent = array();
  foreach($responseResult as $arrayItem) {     // Loop over JSON and fill an
    $modalContent[] = $arrayItem['summary'];   // array with details.
  }
  $submit = array_slice($subjectList, 0, 50);
  foreach($submit as $use) {
    echo "<tr><th scope='row'><span class='glyphicon glyphicon-list-alt'></span></th><td><a href='#' style='color:#fff;text-transform:uppercase;' data-toggle='modal' data-target='#myModal'>{$use}</a>";
  }


    <div class='modal fade' id='myModal' tabindex='1' role='dialog' aria-labelledby='myModalLabel'>
      <div class='modal-dialog' role='document'>
        <div class='modal-content'>
          <div class='modal-header'>
            <button type='button' class='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true'>&times;</span></button>
            <h4 class='modal-title' id='myModalLabel'>Juno | Ticket Details</h4>
        </div>
        <div class='modal-body'>
         <?php
           echo $modalItem;
         ?>
        </div>
        <div class='modal-footer'>
          <button type='button' class='btn btn-default btn-wman' data-dismiss='modal'>Close</button>
        </div>
      </div>
     </div>
    </div>

Мне нужно сделать какое-то сопоставлениемежду индексами массива, поэтому, когда пользователь щелкает по данному [SUBJECT], он получает соответствующее [DESCRIPTION] для этого субъекта.У меня есть смутное представление об использовании array_keys (), может быть, или, если заявления?

Код, который у меня есть, открывает модал и опускает одно и то же [ОПИСАНИЕ] в каждый [СУБЪЕКТ].Я чувствую себя так близко!

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Возможно, вы захотите что-то вроде этого:

$responseResult =
[
  [
    'subject' => 'one',
    'summary' => 'summary one',
  ],
  [
    'subject' => 'two',
    'summary' => 'summary two',
  ],
  [
    'subject' => 'three',
    'summary' => 'summary three',
  ],
];

error_clear_last();

$keyValuePairs = @array_combine
( array_slice(array_column($responseResult, 'subject'), 0, 50),
  array_slice(array_column($responseResult, 'summary'), 0, 50)
);

if(error_get_last())
  echo 'Error handling';
else
{
  echo "summary of subject two: {$keyValuePairs['two']} <br>\n";

  foreach ($keyValuePairs as $k => $v)
    echo "$k => $v <br>\n";
}
0 голосов
/ 23 января 2019

Может быть, это то, что вы ищете?

$subjectList = [];
$modalContent = [];

foreach($responseResult as $index => $item) {  // Loop over JSON and fill an  
    $subjectList[$index] = $item['subject'];   // array with subject.
    $modalContent[$index] = $item['summary'];  // array with details.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...