-5

アマゾンAPIを使用して、データベースに保存するアクターのリストを取得しています。私は重複したエントリを取得し続けており、可能であれば誰かが私を助けてくれることを望んでいました。

これが私がしていることです

$i = $result->Items->Item->ItemAttributes->Actor;
echo "Actor :"; $alist = array(); foreach ($i as $a) {  $alist[] = $a; print_r($alist);  }

そして彼はその結果です。

Array ( [0] => SimpleXMLElement Object ( [0] => Tommy Lee Jones ) ) Array ( [0] => SimpleXMLElement Object ( [0] => Tommy Lee Jones ) [1] => SimpleXMLElement Object ( [0] => John Goodman ) ) Array ( [0] => SimpleXMLElement Object ( [0] => Tommy Lee Jones ) [1] => SimpleXMLElement Object ( [0] => John Goodman ) [2] => SimpleXMLElement Object ( [0] => Peter Sarsgaard ) ) Array ( [0] => SimpleXMLElement Object ( [0] => Tommy Lee Jones ) [1] => SimpleXMLElement Object ( [0] => John Goodman ) [2] => SimpleXMLElement Object ( [0] => Peter Sarsgaard ) [3] => SimpleXMLElement Object ( [0] => Kelly Macdonald ) ) Array ( [0] => SimpleXMLElement Object ( [0] => Tommy Lee Jones ) [1] => SimpleXMLElement Object ( [0] => John Goodman ) [2] => SimpleXMLElement Object ( [0] => Peter Sarsgaard ) [3] => SimpleXMLElement Object ( [0] => Kelly Macdonald ) [4] => SimpleXMLElement Object ( [0] => Mary Steenburgen ) ) 

どんな助けでもいただければ幸いです。

乾杯

4

2 に答える 2

1

print_r() 関数を foreach ループの外に移動します

echo "Actor :";
$alist = array();
foreach ($i as $a) {
  $alist[] = $a;
}
print_r($alist);

出力は反復ごとに大きくなります

Array ( [0] => SimpleXMLElement Object ( [0] => Tommy Lee Jones ) )
Array ( [0] => SimpleXMLElement Object ( [0] => Tommy Lee Jones ) [1] => SimpleXMLElement Object ( [0] => John Goodman ) )
Array ( [0] => SimpleXMLElement Object ( [0] => Tommy Lee Jones ) [1] => SimpleXMLElement Object ( [0] => John Goodman ) [2] => SimpleXMLElement Object ( [0] => Peter Sarsgaard ) )
Array ( [0] => SimpleXMLElement Object ( [0] => Tommy Lee Jones ) [1] => SimpleXMLElement Object ( [0] => John Goodman ) [2] => SimpleXMLElement Object ( [0] => Peter Sarsgaard ) [3] => SimpleXMLElement Object ( [0] => Kelly Macdonald ) )
Array ( [0] => SimpleXMLElement Object ( [0] => Tommy Lee Jones ) [1] => SimpleXMLElement Object ( [0] => John Goodman ) [2] => SimpleXMLElement Object ( [0] => Peter Sarsgaard ) [3] => SimpleXMLElement Object ( [0] => Kelly Macdonald ) [4] => SimpleXMLElement Object ( [0] => Mary Steenburgen ) ) 

コード/出力をより適切にフォーマットすると、問題をより簡単に見つけることができます

于 2013-02-15T08:49:21.640 に答える
0

name 値を配列のキーに設定できます。重複した名前が配列内の前のキーを上書きするように。

$alist[$a->name] = $a

SimpleXMLElement オブジェクトから文字列で名前を取得する必要があります

私はあなたの質問を理解したと思います.このヒントは役に立ちます.

これにより、重複したエントリが配列に削除されますが、重複する print_r は削除されません。

于 2013-02-15T08:53:55.410 に答える