Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP和Json在nil属性中插入属性_Php_Json - Fatal编程技术网

PHP和Json在nil属性中插入属性

PHP和Json在nil属性中插入属性,php,json,Php,Json,我有一个脚本,可以在JSON文件中插入属性,为此我使用: $jsonContent = json_decode($content,true); $dicCurrentContent = $jsonContent[$dicRef]; $jsonContent[$dicRef][] = $currentDic; 没问题,我可以在属性中添加新属性,我的问题是当属性为nil时,如下所示: {"dicHistoriqueCours":[],"dicHistoriqueDevoir":[],"dic

我有一个脚本,可以在JSON文件中插入属性,为此我使用:

$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解决了我的问题,谢谢大家