我们在 php 中有一个列表(数组),其设置如下$update_product_ids = array();array_push($update_product_ids, (int)$product->getId()); // (int)$product->getId() is an integerThe I tried:array_push($update_product_ids, array_values($child_ids)); // child_ids is an array of integersandarray_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);}这感觉有点傻,因为必须有一种方法可以一次性正确完成此操作?问题:如何一次性合并上述数组?
1 回答
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
您可以通过 实现您想要的目标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];
- 1 回答
- 0 关注
- 80 浏览
添加回答
举报
0/150
提交
取消