我相信这个问题有一个“捷径”--我以为我已经解决了,但现在行不通了。请提出建议。
在将JSON对象解码为“$codes”之后,这就可以了:
$codes->{"product"}->{"ad_id"}->{"$ad_id"}->{"singlePay"}=$singlePayments;
$codes->{"product"}->{"ad_id"}->{"$ad_id"}->{"trialPay"}=$trialPayments;
$codes->{"product"}->{"ad_id"}->{"$ad_id"}->{"subsPay"}=$subsPayments;
但是以这种方式添加10个条目有些重复。我确信我找到了一个解决方案-我现在找不到。在我的脚本中,它是:
$codes->{"product"}->{"ad_id"}->{"$ad_id"}->{
"singlePay"=$singlePayments,
"trialPay"=$trialPayments,
"subsPay"=$subsPayments
};
但是我得到了“不能修改标量赋值中的常量项……”我也试过删除引号,并在条目上使用“胖箭头”来添加,但这没有帮助。可能是一个“小学生错误”,但我哪里错了?
(As我在“PHP”和“Perl”之间操作,也许这种结构只在PHP中起作用)
另外,我需要在条目中添加另一个对象,因此尝试了括号中的"affs"={}
和"affs:"={}
...但这也造成了错误。我可以使用上面显示的“长”行,但在一个操作中完成所有操作会有所帮助。以下是所需的现有结构:
"codes":{
"product":{
"ad_id":{
"itemNo1":{
singlePay":"0.00",
"trialPay":"0.00",
"subsPay":"0.00",
"affs":{}
}
}
}
}
2条答案
按热度按时间bfnvny8b1#
要创建一个新的hash/object,可以使用以下方法:
要添加到现有的散列/对象(如果它不存在,则创建它)而不删除任何其他现有字段,您可以使用以下命令:
我们可以试试其他的东西,比如哈希片。
不太好
合并hash怎么样?
更昂贵,但仍然没有比我们开始的解决方案更好。
最后,多变量foreach循环如何?
这是干净的,但很难看到优势(有固定数量的分配)。它需要5.36,可能没有。
9rbhqvlz2#
看,我就说是“学生”。线路:
应该是:
(The花括号前的最后一个短箭头(->)应该是等号!我只花了三个小时就发现了那个错字!!)