1

私はこのbucleを持っています:

foreach($jsonU as $j) {
        $jsonUId = $j->id;
        $jsonUName = $j->name;
        $jsonUDescription = $j->description;
        $jsonUDate = $j->date;
        $jsonUStatus = $j->status;
        $jsonUPicture = $j->picture;

        $jsonUncompleted[] = array('id'=> $jsonUId, 'name'=> $jsonUName, 'description' => $jsonUDescription, 'date' => $jsonUDate, 'status' => $jsonUStatus, 'picture' =>$jsonUPicture);
}  

値がある場合にのみ、配列にキーを挿入する必要があります。たとえば、$jsonUPictore常に値があるとは限らず、その場合、そのキーを書き込む必要はありません。

手助け?

4

2 に答える 2

4

array_filterパラメータの有無にかかわらず関数を使用できます。

http://www.php.net/manual/en/function.array-filter.php

例:

$jsonUncompleted[] = array_filter( array(
  'id'=> $jsonUId, 'name'=> $jsonUName, 'description' => $jsonUDescription,
  'date' => $jsonUDate, 'status' => $jsonUStatus, 'picture' =>$jsonUPicture
));
于 2012-06-29T16:44:34.833 に答える
0

配列からすべての値を削除したい場合は、最後のポスターが言及した関数NULLを使用してそれを行う簡単な方法があります。array_filter

$new_array_without_nulls = array_filter($array_with_nulls, 'strlen');

ソース: http://briancray.com/posts/remove-null-values-php-arrays/

于 2012-06-29T16:48:29.807 に答える