配列から一意の値のみを返すという問題について、誰かが私を助けてくれることを願っています。
お気に入りの写真の 500px API からデータを取得しています。この配列から、写真のカテゴリ ID を取り出したいと思います。以下はある程度機能しますが、一意の値のみを表示したいと考えています (最終的には、ID に関連付けられたラベルからナビゲーションを構築したいと考えています)。
if($json){
$obj = json_decode($json);
}
else {
print "<p>Currently, No Service Available.</p>";
}
foreach ($obj->photos as $photo){
print $photo->category;
}
これは文字列 99241210812231382611121281221121812 を返します。これらは私がお気に入りにした写真の正しいカテゴリ ID ですが、9、1、2 などは 1 回だけ表示したいと思います。
私はPHPマニュアルとここでしばらく時間を費やし、以下を試しました
if($json){
$obj = json_decode($json);
}
else {
print "<p>Currently, No Service Available.</p>";
}
foreach ($obj->photos as $photo){
$test=$photo->category;
$unique=str_split($test);
print array_unique($unique);
}
しかし、これは文字列 ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray を返すだけです。
私が試してみると:
foreach ($obj->photos as $photo){
print array_unique($photo->category);
}
警告が表示されます: array_unique() [function.array-unique]: The argument should be an array. どんな助けでも大歓迎です!