PHP:如何从数组中获取特定数据

PHP:如何从数组中获取特定数据,php,arrays,amazon,Php,Arrays,Amazon,我尝试使用PHP使用AmazonAPI。如果我使用 print_r($parsed_xml->Items->Item->ItemAttributes) 它向我展示了一些结果,比如 SimpleXMLElement Object ( [Binding] => Electronics [Brand] => Canon [DisplaySize] => 2.5 [EAN] => 0013803113662 ** [Feature] => Arr

我尝试使用PHP使用AmazonAPI。如果我使用

print_r($parsed_xml->Items->Item->ItemAttributes)
它向我展示了一些结果,比如

SimpleXMLElement Object ( 
[Binding] => Electronics 
[Brand] => Canon 
[DisplaySize] => 2.5 
[EAN] => 0013803113662 **
[Feature] => Array ( 
[0] => High-powered 20x wide-angle optical zoom with Optical Image Stabilizer 
[1] => Capture 720p HD movies with stereo sound; HDMI output connector for easy playback on your HDTV 
[2] => 2.5-inch Vari-Angle System LCD; improved Smart AUTO intelligently selects from 22 predefined shooting situations 
[3] => DIGIC 4 Image Processor; 12.1-megapixel resolution for poster-size, photo-quality prints 
[4] => Powered by AA batteries (included); capture images to SD/SDHC memory cards (not included) )** 
[FloppyDiskDriveDescription] => None 
[FormFactor] => Rotating 
[HasRedEyeReduction] => 1 
[IsAutographed] => 0 
[IsMemorabilia] => 0 
[ItemDimensions] => SimpleXMLElement Object ( 
[Height] => 340 
[Length] => 490 
[Weight] => 124 
[Width] => 350 ) 
[Label] => Canon 
[LensType] => Zoom lens 
[ListPrice] => SimpleXMLElement Object ( 
[Amount] => 60103 
[CurrencyCode] => USD 
[FormattedPrice] => $601.03 ) 
[Manufacturer] => Canon 
[MaximumFocalLength] => 100 
[MaximumResolution] => 12.1 
[MinimumFocalLength] => 5 
[Model] => SX20IS 
[MPN] => SX20IS 
[OpticalSensorResolution] => 12.1 
[OpticalZoom] => 20 
[PackageDimensions] => SimpleXMLElement Object ( 
[Height] => 460 
[Length] => 900 
[Weight] => 242 
[Width] => 630 ) 
[PackageQuantity] => 1 
[ProductGroup] => Photography 
[ProductTypeName] => CAMERA_DIGITAL 
[ProductTypeSubcategory] => point-and-shoot 
[Publisher] => Canon 
[Studio] => Canon 
[Title] => Canon PowerShot SX20IS 12.1MP Digital Camera with 20x Wide Angle Optical Image Stabilized Zoom and 2.5-inch Articulating LCD 
[UPC] => 013803113662 ) 
我的目标是只获取功能信息,并尝试使用

$feature = $parsed_xml->Items->Item->ItemAttributes->Feature
它对我不起作用,因为它只显示了第一个特性。如何获取所有功能信息?请帮助

在您的代码中,$功能应该包含一个数组。您可以迭代所有这些功能:

foreach($feature as $f) {
    echo $f;
}

还是希望所有项目的功能?

循环项目并将功能属性放入数组中

$feature = array();
foreach($parsed_xml->Items as $item)
{
 $feature[] = $item->ItemAttributes->Feature;
}

在我看来,feature元素实际上是一个数组,您只需要遍历它

// assign the feature array to a var to prevent reading the xml each loop iteration
$features = $parsed_xml->Items->Item->ItemAttributes->Feature

// loop through each feature in the features array
foreach($features as $feature) {
    echo "* $feature\n";
}
或者,如果您想显示在本例中仅为0-n的特征索引

// loop through each feature in the features array
foreach($features as $key => $feature) {
    echo "$key. $feature\n";
}

当然,如果您正在寻找您提供的一个元素的特性,如果您需要获取所有元素的特性,您只需要将我的答案与Alxwest的答案结合起来,创建一个嵌套的foreach循环。