Добавление новых данных в этот массив

#php #arrays #loops

#php #массивы #циклы

Вопрос:

У меня есть массив, который был заполнен данными по умолчанию, как показано ниже

 $arrivals = array(
    "source" => "arrivals",
    "data" => array(
        0 => array("flight"=>"000","scheduled"=>"0000","city"=>"Geneva","airline"=>"UAL","gate"=>"A00","status"=>"1","remarks"=>"BOARDING"),
        1 => array("flight"=>rand(1,2000),"scheduled"=>randomTime(),"city"=>"Baltimore","airline"=>randomAirline(),"gate"=>"A7","status"=>"0","remarks"=>"") 
    )
);
  

Теперь я хочу создать тот же массив с данными из таблицы в цикле, используя те же идентификаторы, такие как «город», но с именами переменных.
Другая часть заключается в том, что первая часть массива «данные» — это число, которое, конечно, в цикле я могу использовать счетчик.

Проблема в том, что массив создается со статическим значением «»source» => «arrivals», для которого есть только одно значение для массива, а затем массивы «data».

Я хотел бы простой способ динамической настройки массива с несколькими записями, но с одним заголовком «source» => «поступления» и несколькими записями для «данных», т.Е. По одному элементу на запись, которую я извлекаю из своей таблицы

Спасибо

Комментарии:

1. Может быть полезно увидеть другой массив и пример того, какой конечный результат вы хотели бы получить

2. Что вы пробовали до сих пор? Где вы застряли?

Ответ №1:

Вы можете сделать это с foreach помощью цикла в php после получения ваших данных.

 // Get the data from your table source
$data = get_some_data();

$arrivals = [
  'source' => 'arrivals',
  'data' => []
];

foreach ($data as $city) {
  $arrivals['data'][] = [
    'flight' => $city['flight'],
    'scheduled'=> $city['scheduled'],
    'city' => $city['city'],
    // etc.
  ];
}
  

В качестве альтернативы, если вы хотите назначить название города в качестве ключа массива в arrivals , вы можете заменить первую строку внутри цикла foreach на $arrivals['data'][$city['city']] (или любой другой элемент массива, содержащий значение city).

Комментарии:

1. Спасибо за пример, теперь он очень хорошо работает с моими данными. Ваша помощь была очень признательна

2. @LeslieJarrett Отлично! Я рад, что смог помочь. Не могли бы вы отметить ответ как принятый? Спасибо!