【问题标题】:array_push() one value into multiple arraysarray_push() 一个值到多个数组中
【发布时间】:2011-05-14 06:29:56
【问题描述】:

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

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

我需要做这样的事情(仅作为示例)

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

我已经阅读了this 的问题并看到了关于$array[] 是否更适合速度的讨论,对于我的具体问题是否更容易使用$array[]

提前致谢!! && 请询问任何需要的澄清!

【问题讨论】:

  • 顺便说一句,是我发布了链接的问题:P
  • @alex lol 已经注意到了!
  • 顺便说一句,使用 array_push 有什么答案吗?
  • my update :)

标签: php arrays push


【解决方案1】:

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

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

It works!

更新

顺便说一句,任何使用 array_push 的答案? – 特鲁法

当然。

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

虽然我会说使用[] 语法更容易:)

如果要添加多个数组成员,使用array_merge()可能会更方便。

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

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

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

【讨论】:

  • Alex 谢谢,但我实际上正在为 array_push 这样做(在我的代码中,“hello”只是一个例子)我只是想看看我是否可以在一行中完成,或者最重要的是只使用一个 array_push
  • @Trua array_push() 允许您附加多个成员,但不允许您将这些多个成员单独附加到多个数组中。它只引用一个数组。
【解决方案2】:

为什么它必须在一行上? 以下代码有效且可读性强:

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

【讨论】:

  • 您的字符串分隔符不匹配('") - 也许您在我第一次做同样的事情时复制并粘贴了我的:P
  • 我确实复制/粘贴了它。正在研究其他解决方案(数组循环等),然后注意到作者似乎对您的回答很满意。我仍然不明白这个问题的意义——他为什么“需要”把东西放在一条线上。我认为可读性总是胜过节省代码行数。
  • 谢谢,我想“把它放在一行中”,因为我实际上正在使用 array_push() 所以我不想在不同的连续行中多次调用它......
  • 是的,可读性通常最重要的事情。但我觉得在我的回答中这样做不会对可读性造成太大影响。另外,您可以跳过 $value 变量。 :) 为您的有效观点 +1。
  • 问题是您使用 $array[] 回答了我的问题,这使得向多个数组添加一个值变得简单,但如果我要使用数组推送,我将不得不这样做:array_push( $一个,“你好”); array_push($2, "你好");十次,这对我来说似乎没有多大意义,也许它可读但它不是很“好”......
【解决方案3】:

试试$one[] = $two [] = "hello";

【讨论】:

  • @Trua 我认为可以公平地说,他们在发帖时可能没有看到我的答案。
  • 你说得对,对此我很抱歉。好奇怪..刷新的时候先出现了alex,但是时间戳是有的! :)
  • 嗯,它有 2 分钟的差异.. 呵呵.. 这是你的电话 trufa
  • 我接受了亚历克斯的回答,因为现在它更完整了。无论如何,非常感谢,你得到了我的 +1 :)
猜你喜欢
  • 1970-01-01
  • 2017-12-24
  • 2023-03-18
  • 1970-01-01
  • 2011-05-15
  • 2020-10-08
  • 2018-10-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多