2016-05-08 7 views
0

配列をプロットしようとしていますが、1つの日付がNULLの場合、値は1/1/1970になります。配列のヌルデータを削除または変更します。

私は、コードを持っている:

$date1 = $row['date_initial']; 
    $date2 = $row['date_end']; 
    $value = $row['value']; 


    $data1 = array(strtotime($date1)*1000,$value); 
    $data2 = array(strtotime($date2)*1000,$value); 

    $data8[] = array($data1,$data2); 

    echo json_encode($data8); 

私は、この配列を取得:

[[[14565.312億、 " - 12"]、[14567.04億、 " - 12"]]、[[14565.312億14]、[0、-16]]、[[1456617600000、-13]、[1456790400000、 "-14"]]]

null値の日付を変更し、日付が空でないまで現在の日付を置くことは可能でしょうか? 、またはこのペアの配列を削除しますか?

私が証明した:

$data8 = array_map('array_filter', $data8); 
    $data8 = array_filter($data8); 

が、それはこのケースでは動作しません...

+0

未設定($ array [0]); – Andreas

答えて

3

テストは

if(! ($data1 = strtotime($date1))) $data1 = time(); 
$data1 = array($date1*1000,$value); 
+0

最初にコメントとして見ましたが、削除されてしまいました。シンプルで優れたソリューションであるため、ちょっと驚きました。 – Andreas

+0

私のコメントに間違いがありました。解決策には2つのステートメントが必要です。 – splash58

+0

いずれにしても、それはまだアップヴォートにふさわしい解決策です – Andreas

0

にinitあなたは、今日の(半ばで0タイムスタンプを置き換えることができながら、 -night)のタイムスタンプは次のようになります。

$today = strtotime(date('Y-m-d')) * 1000; // convert to milliseconds 
foreach($data8 as &$period) { 
    if(!$period[0][0]) $period[0][0] = $today; 
    if(!$period[1][0]) $period[1][0] = $today; 
} 
関連する問題