PHP和Json在nil属性中插入属性
我有一个脚本,可以在JSON文件中插入属性,为此我使用:PHP和Json在nil属性中插入属性,php,json,Php,Json,我有一个脚本,可以在JSON文件中插入属性,为此我使用: $jsonContent = json_decode($content,true); $dicCurrentContent = $jsonContent[$dicRef]; $jsonContent[$dicRef][] = $currentDic; 没问题,我可以在属性中添加新属性,我的问题是当属性为nil时,如下所示: {"dicHistoriqueCours":[],"dicHistoriqueDevoir":[],"dic
$jsonContent = json_decode($content,true);
$dicCurrentContent = $jsonContent[$dicRef];
$jsonContent[$dicRef][] = $currentDic;
没问题,我可以在属性中添加新属性,我的问题是当属性为nil时,如下所示:
{"dicHistoriqueCours":[],"dicHistoriqueDevoir":[],"dicHistoriqueInterroDone":[],"dicHistoriqueInterroCorrigee":[]}
我使用以下代码:
$dicCurrentCours = $jsonContent['dicHistoriqueCours'];
foreach ($dicCours as $valueTemp)
{
$jsonContent['dicHistoriqueCours'][] = $valueTemp;
}
这给了我一个格式不正确的JSON文件,因为我在“dicHistoriqueCours”属性的末尾得到了一个额外的“]
我得到一个额外的[]:
{"dicHistoriqueCours":[{"Mati\u00e8re":"Fran\u00e7ais","intTotal":"10","Titre":"Le Pluriel","Type":"cours","Adresse":"lePluriel","Difficult\u00e9":"3","Prix":"free","intPoint":"7"},{"Mati\u00e8re":"Fran\u00e7ais","intTotal":"5","Titre":"Le Pass\u00e9 Compos\u00e9","Type":"cours","Adresse":"lePasseComp","Difficult\u00e9":"2","Prix":"free","intPoint":"2"},[]],"dicHistoriqueDevoir":[],"dicHistoriqueInterroDone":[],"dicHistoriqueInterroCorrigee":[]}
我能做什么
谢谢大家 只能添加非空数组:
foreach ($dicCours as $valueTemp) {
if(!is_array($valueTemp) || !empty($valueTemp)) {
$jsonContent['dicHistoriqueCours'][] = $valueTemp;
}
}
json\u encode()
在添加数组项时返回格式错误的json字符串?我听上去不可能,“畸形”到底是怎么回事?发生了什么?我已经编辑了我的问题},[]],在DICHISTORIQUECOURS的末尾,$dicRef
的值是多少?Jantimon解决了我的问题,谢谢大家