【问题标题】:Create array from MySQL results, and add new items从 MySQL 结果创建数组,并添加新项目
【发布时间】:2018-01-13 20:33:34
【问题描述】:

我有一个 MySQL 搜索查询输出到一个数组:

$result = $stmt->fetchAll(PDO::FETCH_ASSOC);

我希望能够为每个数组项添加更多键/值。

所以此刻它输出:

array(1) {
  [0]=>
  array(7) {
    ["organisation"]=>
    string(32) "7a5fddaceecec75c9a13cb329f6b4b15"
    ["date_created"]=>
    string(10) "2017-08-04"
  }
}

我也希望它包含在数组的末尾:

'name' => getName($result['name'];

我假设我使用 array_push 和 while 循环来做到这一点?我就是想不通。

谢谢

【问题讨论】:

  • 您想在每个数组的末尾包含'name' => getName($result['name']); 还是只包含第一个数组?

标签: php mysql arrays pdo


【解决方案1】:

如果您要使用 array_push() 将 "$key" => "$value" 对插入到数组中,可以使用以下方法完成:

$data[$key] = $value;

不必使用array_push。

【讨论】:

  • 谢谢 - 我如何将它插入到每个数组项中?我不需要为每个数组项创建一个 while 循环吗?
  • foreach($arr as $item){ $item['name'] = $value;
  • 抱歉——我还是新手。我不认为我理解。该数组有四个项目长,我想添加第五个项目,它使用其中一个项目的数据。因此,我可以在每个项目中添加另一个 'address' => function($arr['id']) 而不是 { 'name' => 'john', 'id' => '2' } { 'name' => 'jack', 'id' => '5' }
  • 对不起,我不确定你想做什么
  • 这是现在的数组:array(2) { [0]=> array(2) { ["hash"]=> string(32) "0d06" ["organisation"]=> string(32) "7a5fdd" } [1]=> array(2) { ["hash"]=> string(32) "cba33" ["organisation"]=> string(32) "7a5fdd" } }。我想在每个项目中获取 $array['organisation'] ,通过我构建的函数运行它,例如function($array['organisation']),并将其添加回数组,使其成为array(3) { ["hash"]=> string(32) "cba33" ["organisation"]=> string(32) "7a5fd" ["address"]=> string(32) "jlkjlkjasd" }
猜你喜欢
  • 2019-08-24
  • 2021-12-14
  • 2012-12-20
  • 2014-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多