【问题标题】:How to push a found array item into another array?如何将找到的数组项推送到另一个数组中?
【发布时间】:2018-12-19 07:33:08
【问题描述】:

我有一个数组。但试图分开项目。例如:

$array1 = ["banana","car","carrot"];  

试图将汽车推入另一个数组 $array2

$push = array_push($array1, "car") = $array2;

我试图找到 array_push 的用法,但文档就是这样。将新项目发送到数组。不是数组到数组。这是否可以使用 array_push 或需要使用其他东西?

我需要在$array1中搜索值car,将其推入$array2并从$array1中删除。

【问题讨论】:

  • 你想从 $array1 获取汽车并将其推入 $array2 吗?
  • 是的,没错。
  • 是否应该从原始数组中移除?
  • 我们是一个社区,旨在帮助开发人员解决他们无法自行解决的问题。我们还有责任通过确保需要帮助的人进行自己的研究来执行规则。您的问题可以通过简单的谷歌搜索清楚地解决。 Stackoverflow 不应该是您解决问题的第一个地方,因为很可能有人遇到过类似的问题。我们不希望您了解所有事情,但我们确实希望您先尝试帮助自己。 stackoverflow.com/help/how-to-ask您可以查看帮助中心。

标签: php arrays search array-push


【解决方案1】:

这里有一个灵活的解决方案,允许您通过“汽车”进行搜索,如果存在,则将其推入第二个数组并从第一个数组中省略。

代码:(Demo)

$array1 = ["banana","car","carrot"];  
$needle = "car";
if (($index = array_search($needle, $array1)) !== false) {
    $array2[] = $array1[$index];
    unset($array1[$index]);
}

var_export($array1);
echo "\n---\n";
var_export($array2);

输出:

array (
  0 => 'banana',
  2 => 'carrot',
)
---
array (
  0 => 'car',
)

【讨论】:

  • 看到一连串的反对票让我感到非常惊讶——我无法自信地说明原因。你能做的最多就是确保你清楚彻底地解释你的问题。
【解决方案2】:

您可以将 $array1 项目 car 推送到 $array2 中,如下所示

$array2 = array();
$array1 = ["banana","car","carrot"];  

array_push($array2, $array1[1]);

print_r($array2); /* OutPut Array ( [0] => car ) */ 

如您所知,$array1[1] 的值为 car,因此它将通过调用 php 内置函数 array_push() 将其推入 $array2

【讨论】:

  • 我不是按数字而是按名字来做的。有可能吗?
  • @Barbie 因为这不是关联数组,所以您不能将键用作字符串,因为没有。所以你必须使用index
【解决方案3】:

希望这会对你有所帮助。

$array1 = ["banana","car","carrot"];  
$array2 = array_slice($array1, 1, 1);
unset($array1[1]);

【讨论】:

    猜你喜欢
    • 2022-06-13
    • 1970-01-01
    • 2023-03-31
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 1970-01-01
    • 2017-09-25
    相关资源
    最近更新 更多