【问题标题】:Inserting a multidimensional array into another multidimensional array将一个多维数组插入另一个多维数组
【发布时间】:2012-10-18 11:14:34
【问题描述】:
$stack = array(
    'name'           => 'some data',
    'caption'        => 'some data',
    'published'      => 'some data',
    'updated_at'     => 'some data',
    'updated_by'     => 'some data'
);

$data = array('album_id' => 'someID');

如何将数据数组插入堆栈数组?

更新:我尝试了 array_unshift,但它在 multi 的第二维中插入了 $data 数组,但我希望它与其他数组处于同一级别。

还有一个问题

如果我有另一个数组,比如数据,我想将它插入到第三个位置,我该怎么做?

【问题讨论】:

  • 这些是一维数组,不是多维数组。它们也是散列,不包含数字索引键,而是命名键。因此,您不能将其插入指定位置,因为它们实际上并没有位置。您可以为此使用 array_slice。 array_merge 是您将它们组合成一个数组的方式。您在 array_merge 中指定的第一个数组是基数,之后传递给 array_merge 的所有其他数组都将添加到末尾。您需要将 array_merge 的结果分配给一个新变量。在 php.net 上查找以获取更多信息。

标签: php multidimensional-array


【解决方案1】:

试试

$stack = $stack + $data;

或者

$stack =array_merge($stack, $data);

如果要将$data添加到$stack中的第3位

$chunks = array_chunk($stack, 2, true);
$stack  = array_shift($chunks);
$stack  += $data;
foreach ($chunks as $chunk) { $stack += $chunk; }

【讨论】:

  • 出于某种原因给了我 6 个。值 6,我尝试使用 array_unshift 得到 6。array_merge 只是显示了数组。
猜你喜欢
  • 2019-12-03
  • 1970-01-01
  • 1970-01-01
  • 2011-07-09
  • 1970-01-01
  • 2019-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多