当数组中的值为空时删除null,用php中的json中的引号替换它

时间:2014-10-14 08:18:39

标签: php json

当数组值为空时,如何删除值" null "?

我刚刚添加了以下内容来转换json格式:

for( $cnt=0; $cnt<$iNumberOfPics; $cnt++ )
    {
  $output[]=array('video_img_url'=>$img[$cnt],'video_url'=>$vid[$cnt],'views'=>$view[$cnt],'video_title'=>$title[$cnt]);
   }
  $json_result=json_encode($output);
  echo $json_result;

所以我得到的结果如下:

{"video_img_url":"http:\/\/ffff.com\/fff-ffff\/fff\/ffff\/05\/fff-ff-ff-AX-fff.jpg","video_url":"http:\/\/ffff.com\/ff-fff\/fff\/fff\/11\/ffBIKE-ffAX 050814.mov","views":null,"video_title":null}

我希望得到结果:

{"video_img_url":"http:\/\/ffff.com\/fff-ffff\/fff\/ffff\/05\/fff-ff-ff-AX-fff.jpg","video_url":"http:\/\/ffff.com\/ff-fff\/fff\/fff\/11\/ffBIKE-ffAX 050814.mov","views":"","video_title":""}

任何人都可以帮忙!

3 个答案:

答案 0 :(得分:1)

$arr = array('abc' =>'test', 'test'=> 'adsf');
foreach ($arr as $var => $val) {
    if ($val === null) {
        $arr[$var] = '';
    }
}
$json_result = json_encode($arr);

答案 1 :(得分:0)

在编码之前运行此命令:

foreach ($output as $var=>$val) { if ($val==null) {$output[$var]='';}}

答案 2 :(得分:0)

最后,我添加以下代码来获取结果。

 for( $cnt=0; $cnt<$iNumberOfPics; $cnt++ )
    {

         if ($view[$cnt]) $viewcount=$view[$cnt]; else $viewcount="";
         if ($title[$cnt]) $titles=$title[$cnt]; else $titles="";

      $output[]=array('video_img_url'=>$img[$cnt],'video_url'=>$vid[$cnt],'views'=>$viewcount,'video_title'=>$titles);

    } 

echo json_encode($output);

谢谢大家!!