【问题标题】:Adding new data to this array向该数组添加新数据
【发布时间】:2020-09-22 12:49:01
【问题描述】:

我有一个已填充默认数据的数组,如下所示

$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”=>“arrivals”和多个“data”条目,即我从中获取的每条记录一个元素我的桌子

谢谢

【问题讨论】:

  • 可能对查看另一个数组以及您想要的最终结果的示例很有用
  • 到目前为止你尝试过什么?你被困在哪里了?

标签: php arrays loops


【解决方案1】:

检索数据后,您可以在 php 中使用 foreach 循环来执行此操作。

// 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']](或任何包含城市值的数组项)。

【讨论】:

  • 感谢您提供的示例,它现在对我的数据非常有效。非常感谢您的帮助
  • @LeslieJarrett 太好了!我很高兴我能提供帮助。您能否将答案标记为已接受?谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多