PHP 连接数组(列表)并忽略重复键,因为我们只使用值

我们在 php 中有一个列表(数组),其设置如下


$update_product_ids = array();

array_push($update_product_ids, (int)$product->getId()); // (int)$product->getId() is an integer


The I tried:

array_push($update_product_ids, array_values($child_ids)); // child_ids is an array of integers

and

array_merge($update_product_ids, $child_ids); // child_ids is an array of integers

这不起作用,看起来键在两个示例中都被合并,而不是添加到末尾。我认为这是因为 php 不存储数组 as('A', 'B')而是 as (0=>'A',1=>'B'),并且我要合并的两个数组都有 keys 0 and 1。


所以我决定


foreach ($children_ids as $child_id) {

    array_push($update_product_ids, (int)$child_id);

}

这感觉有点傻,因为必须有一种方法可以一次性正确完成此操作?


问题:如何一次性合并上述数组?


哈士奇WWW
浏览 81回答 1
1回答

泛舟湖上清波郎朗

您可以通过 实现您想要的目标array_merge。与 不同的是array_push,array_merge不会修改提供的数组。它而是返回一个新数组,该数组是所提供数组的串联。所以基本上,做类似的事情:$update_product_ids = array_merge($update_product_ids, $child_ids);如果您使用 PHP 5.6(或更高版本),您还可以使用“参数解包”:array_push($update_product_ids, ...$child_ids);如果您使用 PHP 7.4(或更高版本),则可以使用“扩展运算符”(与参数解包相同,但适用于数组):$update_product_ids = [...$update_product_ids, ...$child_ids];
打开App,查看更多内容
随时随地看视频慕课网APP