【问题标题】:which one more preferable array_push() or array_merge() ,when one array is empty and another have some value哪个更可取 array_push() 或 array_merge() ,当一个数组为空而另一个数组具有某些值时
【发布时间】:2018-12-15 18:35:23
【问题描述】:

我是 php 新手,面临 array_push 和 array_merge 之间的一些问题

我在输入 $a(Blank array) 和 $b(Associative array) 中使用了两个数组 有一定的价值)

如果是array_merge

当我使用 array_merge 时,我在两种情况下都得到了相同的结果($c 和 $f) 但总而言之,我使用了一个关联数组,键为“212”,值为“aa” 但在输出中我得到一个键为“0”且值为“aa”的数组

现在

array_push 我得到 2 个不同的输出(int 1 和 int 2),用于两个不同的 2 个相同输入的案例

我试过了

$a=array();
$b= array(212=>"aa");
$c=array_merge($a,$b);
$f=array_merge($b,$a);
$d=array_push($b,$a);
$e=array_push($a,$b);

现在我用这个转储了这些数组

echo '<pre>';
var_dump($c);
var_dump($f);
var_dump($d);
var_dump($e);

我得到每个数组的这些结果

array(1) {
  [0]=>
  string(2) "aa"
}
array(1) {
  [0]=>
  string(2) "aa"
}
int(2)
int(1)

【问题讨论】:

  • array_push 修改它的第一个参数并返回新元素的数量。所以你的实验有些缺陷;o)
  • @Jakumi 在 array_merge() 的情况下怎么样。
  • 查看答案 1 和/或仔细阅读手册,因为我相信几乎所有内容都已得到解答。很抱歉 rtfm,但真的。
  • array_push 返回数组中元素的新数量。 var_dump($b); 在您推送后查看发生了什么。在您第二次推送后同样需要 $a。
  • array_merge 将一个或多个数组的元素合并在一起,以便将一个数组的值附加到前一个数组的末尾。它返回结果数组。 (来自手册。)查看手册时,请检查有关函数返回的说明。

标签: php arrays associative-array array-merge array-push


【解决方案1】:

如果我可以说,这个答案是重复的。

你能检查一下这个链接吗

What is the difference between array_push() and array_merge()?

【讨论】:

    猜你喜欢
    • 2018-10-21
    • 2017-12-24
    • 2011-05-15
    • 1970-01-01
    • 2011-05-14
    • 2020-07-02
    • 1970-01-01
    • 2022-01-25
    • 2020-01-26
    相关资源
    最近更新 更多