如何解决PHP向数组添加键值对时出现的=>语法报错问题
错误原因
$shortcode[] = 'attendee_name' => $tickets[0]['shortcode_data']['attendee_name']的写法不符合PHP语法规则:
$数组名[]是用于追加无指定键名的元素的语法,会自动生成数字索引,后面不能接=>键值对结构- 你当前的代码顺序存在逻辑问题:先给
$shortcode赋值之后,又用array()重新初始化了整个数组,就算前面赋值语法正确,后续的初始化操作也会覆盖之前写入的attendee_name元素
正确写法
如果你需要给关联数组添加指定键名的元素,语法为$数组名['键名'] = 键值,同时调整代码顺序为先初始化数组,再追加元素:
// 先初始化基础数组 $shortcode = array( 'product_name' => $tickets[0]['shortcode_data']['product_name'], 'start_time' => $tickets[0]['shortcode_data']['start_time'], 'end_time' => $tickets[0]['shortcode_data']['end_time'], ); // 追加带指定键名的元素 $shortcode['attendee_name'] = $tickets[0]['shortcode_data']['attendee_name'];
如果该元素在数组初始化时就可以确定,也可以直接写在array()结构内,不需要单独追加:
$shortcode = array( 'product_name' => $tickets[0]['shortcode_data']['product_name'], 'start_time' => $tickets[0]['shortcode_data']['start_time'], 'end_time' => $tickets[0]['shortcode_data']['end_time'], 'attendee_name' => $tickets[0]['shortcode_data']['attendee_name'] );
内容的提问来源于stack exchange,提问作者Gamernamer
相关产品推荐
相关产品推荐

