データを使用して Google チャートにフィードしているので、出力データに関して必要なものを正確に知っていると思います。データを構造化するためのより良い方法については、既にいくつかの提案がありますが、それはおそらく Google チャートでは直接機能しません。
これはどう?
$data = [["June 4",30],["June 4",35],["June 5",46],["June 5",38.33],["June 5",12]];
$found = array();
foreach ($data as $i => $x) {
if (in_array($x[0], $found)) {
$data[$i][0] = '';
} else {
$found[] = $x[0];
}
}
print_r($data);
基本的には、すでに見た日付のリストを作成しているだけです。データをループして、日付が表示されているかどうかを確認します...表示されている場合は、データから消去します。そうでない場合は、リストに保存して、次回に消去されるようにします。
すべての重複を削除する最初のソリューションとは異なり、連続する重複日付のみをチェックする代替ソリューションを次に示します。これはおそらく、チャート作成に必要なものに近いものです。
$data = [["June 4",30],["June 4",35],["June 5",46],["June 5",38.33],["June 5",12]];
$last = '';
foreach ($data as $i => $x) {
if ($x[0] == $last) {
$data[$i][0] = '';
} else {
$last = $x[0];
}
}
print_r($data);
この場合、最後に確認した日付を追跡しているだけです...新しい日付がそれに一致する場合は、それをクリアします。