$array = $value->meta_value;
でこの習得した$array配列の中身のリスト表示はできたのですが重複しているものがあるため、さらに重複を削除させるために
$result = array_unique($array);
を追加したのですが、$resultを表示させようとするとなぜかうまく結果が表示されません。
原因はわかりますでしょうか?(array_uniqueはforeachの後に置く?)
↓コードです。
>||
<?php
global $wpdb;
$data = $wpdb->get_results( "
SELECT meta_value
FROM $wpdb->postmeta
WHERE meta_key = '◯◯◯'
" );
foreach ($data as $value) {
$array = $value->meta_value;
$result = array_unique($array);
print_r($result);
}
?>
||<
配列なのは$arrayでなく$dataです。
だからforeachに$dataを渡すのです。
Array ( [1] => Array ( [meta_value] => ○ ) [2] => Array ( [meta_value] => × ) [3] => Array ( [meta_value] => △ ) ... )
です。
この場合はget_resultsよりget_colでしょう。
素直な配列になります。
そして配列個々を処理するforeachの前に配列全体を処理するarray_uniqueを使います。
しかし、そもそも重複をなくすためにSELECT DISTINCTを使うのが一番の方法だと思います。