将一个值推入多个数组中的array_push()函数

6

我知道这可能是一个非常简单的问题,但我需要知道如何在PHP中将一个值添加到多个数组中。(更好的方法)

array_push($one, "hello");
array_push($two, "hello");

我需要做类似于这样的事情(仅作为示例)。
array_push($one && $two, "hello");

我已经阅读了这篇问题并看到了有关$array[]是否更快的讨论,对于我的具体问题,使用$array[]是否更容易?谢谢!提前感谢!请随时要求任何澄清!

顺便说一下,那个链接的问题是我发的 :P - alex
@alex 哈哈,我没注意到那个! - Trufa
顺便问一下,有使用array_push的答案吗? - Trufa
请看我的更新 :) - alex
3个回答

4

我认为最好的方法是...

$one[] = $two[] = 'hello';

它运行正常!

更新

顺便问一下,有使用array_push的答案吗? - Trufa

当然可以。

$value = 'hello';
array_push($one, $value);
array_push($two, $value);

我认为使用[]语法更加简单 :)

如果您想添加多个数组成员,可以使用array_merge()更加方便。

$one = array_merge($one, array(
   'a',
   'b',
   'c'
));

您也可以使用+数组操作符,但它的行为不同(例如,不会像array_merge()那样覆盖左操作数的字符串键)。

$one += array(
   'a',
   'b',
   'c'
);

Alex谢谢,但实际上我正在做这个(在我的代码中,“hello”只是一个例子)。对于array_push,我只是想看看是否可以用一行代码完成,或者更重要的是只使用一个array_push。 - Trufa
@Trua array_push()允许您添加多个成员,但是不能单独将这些多个成员附加到多个数组上。它只接受对一个数组的引用。 - alex

2
尝试运行以下代码:$one[] = $two [] = "hello";

@Trua 我认为可以公平地说,他们在发帖时可能没有看到我的答案。 - alex
你说得对,我很抱歉。太奇怪了...当我刷新时,Alex的名字首先出现了,但时间戳确实存在! :) - Trufa
好的,这只是两分钟的差距.. 嘿嘿.. 你决定吧,trufa。 - Treby
我接受了Alex的答案,因为现在它更完整了。无论如何,非常感谢你,你得到了我的+1 :) - Trufa

2
为什么必须在一行上呢? 下面的代码可以正常运行且易于阅读:
$value = 'hello';
$one[] = $value;
$two[] = $value;

你的字符串分隔符不匹配('")-也许你在我第一次这样做时复制并粘贴了我的内容:P - alex
我开始的时候也曾经尝试复制/粘贴它,然后继续尝试其他解决方案(例如对数组进行循环等),但是注意到作者似乎满意你的答案。我仍然不理解这个问题的意义——为什么他“需要”将东西放在一行上。我认为,可读性总是比节省代码行数更重要。 - catchdave
谢谢,我想要“放到一行中”,因为我实际上正在使用array_push(),所以我不想在不同的连续行中多次调用它... - Trufa
是的,可读性通常是最重要的。但我觉得像我的答案那样做并不会对可读性造成太大的影响。此外,您可以跳过“$value”变量。 :) 对于您的有效观点给予加1。 - alex
问题在于您使用了 $array[] 来回答我的问题,这使得将一个值添加到多个数组变得简单。但是如果我使用 array_push,我需要执行十次以下操作:array_push($one, "hello"); array_push($two, "hello"); 这似乎对我来说没有太多意义,也许它可读性高,但并不是很“好看”... - Trufa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接