You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确使用array_push处理键与数组值?排查参数不足警告

问题分析与解决方法

这个问题其实是array_push()的用法搞错啦😉,咱们一步步拆解来看:

为什么会出现警告?

你写的这行代码:

array_push($post_likes[$current_user->ID] = $new_likes);

array_push()的正确语法要求至少2个参数:第一个是要操作的目标数组,第二个及以后是要推入数组的元素。但你这里只传了一个参数——$post_likes[$current_user->ID] = $new_likes是一个赋值表达式,它的结果是$new_likes的值,但这显然不符合array_push()的参数要求,所以PHP才会抛出“expects at least 2 parameters”的警告。

正确的实现方式

你的需求是给$post_likes这个关联数组添加一个新的键($current_user->ID),对应的值是$new_likes数组。这种场景下,直接赋值是最简洁高效的方式,完全不需要用到array_push():

$post_likes[$current_user->ID] = $new_likes;

这样写既符合PHP数组的操作逻辑,也能完美实现你要的“将带数组值的新键推入原数组”的效果,而且不会有任何警告。

补充:什么时候用array_push()?

array_push()主要适合往索引数组的末尾添加元素(比如$arr = [1,2]; array_push($arr,3);),对于关联数组添加键值对的场景,直接赋值是更常规的做法。

内容的提问来源于stack exchange,提问作者user6135434

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:42:55