【问题标题】:PHP array_push without numeric keyPHP array_push 没有数字键
【发布时间】:2015-05-05 09:23:17
【问题描述】:

如何在没有数字键的情况下推送新数组?

$array = array('connect' => array('mydomain.com' => 1.99) );
$new_array['mynewdomain.com'] = 2.99;

array_push($array['connect'], $new_array);

目前返回:

Array
(
    [connect] => Array
        (
            [mydomain.com] => 1.99
            [0] => Array
                (
                    [mynewdomain.com] => 2.99
                )
        )
)

https://ideone.com/VgL67Y

我期待以下输出:

Array
(
    [connect] => Array
        (
            [mydomain.com] => 1.99
            [mynewdomain.com] => 2.99
        )
)

【问题讨论】:

  • array_merge($array['connect'], $new_array);

标签: php arrays


【解决方案1】:

只需将元素附加到数组。

$array['connect']['mynewdomain.com'] = 2.99;

不需要array_push()。只需在内置结构中使用 PHP 即可完成工作。

内置语言结构比内置函数和自定义函数更快。

【讨论】:

  • 这个比较简单。 :)
  • 终于找到了解决方案.. php.net 应该只是迁移到 SO.. 非常感谢
【解决方案2】:

为此使用+。试试 -

$array = array('connect' => array('mydomain.com' => 1.99) );
$array['connect'] += array('mynewdomain.com' => 2.99);

【讨论】:

    【解决方案3】:

    使用array_merge():

    $array['connect'] = array_merge($array['connect'], $new_array);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-24
      • 2015-01-03
      • 1970-01-01
      • 2015-01-25
      • 2017-04-21
      • 2013-11-14
      • 1970-01-01
      相关资源
      最近更新 更多