Amazon API を介して製品の詳細にアクセスし、データの配列でこれを取得しています。
["BrowseNodes"]=>
array(1) {
["BrowseNode"]=>
array(3) {
[0]=>
array(3) {
["BrowseNodeId"]=>
string(10) "7421468011"
["Name"]=>
string(24) "Educational & Nonfiction"
["Ancestors"]=>
array(1) {
["BrowseNode"]=>
array(3) {
["BrowseNodeId"]=>
string(4) "4390"
["Name"]=>
string(14) "Graphic Novels"
["Ancestors"]=>
array(1) {
["BrowseNode"]=>
array(3) {
["BrowseNodeId"]=>
string(4) "4366"
["Name"]=>
string(23) "Comics & Graphic Novels"
["Ancestors"]=>
array(1) {
["BrowseNode"]=>
array(4) {
["BrowseNodeId"]=>
string(4) "1000"
["Name"]=>
string(8) "Subjects"
["IsCategoryRoot"]=>
bool(true)
["Ancestors"]=>
array(1) {
["BrowseNode"]=>
array(2) {
["BrowseNodeId"]=>
string(6) "283155"
["Name"]=>
string(5) "Books"
}
}
}
}
}
}
}
}
}
[1]=>
array(3) {
["BrowseNodeId"]=>
string(5) "13871"
["Name"]=>
string(20) "History & Philosophy"
["Ancestors"]=>
array(1) {
["BrowseNode"]=>
array(3) {
["BrowseNodeId"]=>
string(2) "75"
["Name"]=>
string(14) "Science & Math"
["Ancestors"]=>
array(1) {
["BrowseNode"]=>
array(4) {
["BrowseNodeId"]=>
string(4) "1000"
["Name"]=>
string(8) "Subjects"
["IsCategoryRoot"]=>
bool(true)
["Ancestors"]=>
array(1) {
["BrowseNode"]=>
array(2) {
["BrowseNodeId"]=>
string(6) "283155"
["Name"]=>
string(5) "Books"
}
}
}
}
}
}
}
[2]=>
array(3) {
["BrowseNodeId"]=>
string(5) "11256"
["Name"]=>
string(20) "Folklore & Mythology"
["Ancestors"]=>
array(1) {
["BrowseNode"]=>
array(3) {
["BrowseNodeId"]=>
string(5) "11232"
["Name"]=>
string(15) "Social Sciences"
["Ancestors"]=>
array(1) {
["BrowseNode"]=>
array(3) {
["BrowseNodeId"]=>
string(10) "3377866011"
["Name"]=>
string(26) "Politics & Social Sciences"
["Ancestors"]=>
array(1) {
["BrowseNode"]=>
array(4) {
["BrowseNodeId"]=>
string(4) "1000"
["Name"]=>
string(8) "Subjects"
["IsCategoryRoot"]=>
bool(true)
["Ancestors"]=>
array(1) {
["BrowseNode"]=>
array(2) {
["BrowseNodeId"]=>
string(6) "283155"
["Name"]=>
string(5) "Books"
}
}
}
}
}
}
}
}
}
</pre>
ポイントは、この例では「政治と社会科学」という値を抽出する必要があり、深さは常に同じではないということです。ただし、すべての配列は最後から同じように始まります - Books -> Subjects -> Politics & Social Sciences
私は自分のスクリプトで何百冊もの本を実行しているので、下から 3 番目のレベルを取得する自動化された方法が必要です。配列の最後から常に 3 番目のレベルです。