PHP中如何为数组新增键并添加整数值?实操遇值不显示问题
问题解答
你的代码核心问题是:调用array_push($a['new'], 1)时,$a['new']尚未被定义为数组,PHP会默认将其初始化为null,而array_push要求第一个参数必须是数组类型的引用,往null中推送元素不会生效,甚至会触发警告(若开启PHP错误提示)。
正确写法
方式1:先初始化数组再推送
$a = array("a"=>"red","b"=>"green"); $a['new'] = []; // 先将new键初始化为空数组 array_push($a['new'], 1); print_r($a);
方式2:PHP推荐的简洁追加写法
直接通过[]语法追加元素,PHP会自动为不存在的键创建数组:
$a = array("a"=>"red","b"=>"green"); $a['new'][] = 1; print_r($a);
关于“字符串值正常生效”的说明
你之前用字符串时看似正常,大概率是误操作导致$a['new']被提前初始化为数组(比如之前的代码残留、或误写为array_push($a, '字符串')),并非字符串本身有特殊处理逻辑。
内容的提问来源于stack exchange,提问作者Kevin ami
相关产品推荐
相关产品推荐

