Php 数组dicing cfsimplexml对象

Php 数组dicing cfsimplexml对象,php,cakephp-1.3,Php,Cakephp 1.3,我有一个这样的数组 [17] => CFSimpleXML Object ( [Key] => habteen.mp3 [Size] => 5931725 ) [18] => CFSimpleXML Object ( [Key] => lawnesareh.mp3 [LastModified] => 2011

我有一个这样的数组

[17] => CFSimpleXML Object
        (
            [Key] => habteen.mp3
            [Size] => 5931725
         )   

[18] => CFSimpleXML Object
        (
            [Key] => lawnesareh.mp3
            [LastModified] => 2011-05-07T22:24:15.000Z

        )

我想得到Key和size的值。我该怎么做?

以下内容将遍历数组项,并检查对象是否具有Key和Size属性:

foreach($arr as $item)
{
   if(isset($item->Key))
   {
       $item->Key;
   }
   if(isset($item->Size))
   {
       $item->Size;
   }
}

以下内容将遍历数组项并检查对象是否具有Key和Size属性:

foreach($arr as $item)
{
   if(isset($item->Key))
   {
       $item->Key;
   }
   if(isset($item->Size))
   {
       $item->Size;
   }
}

CFSimpleXML对象是AmazonWebServicesPHPAPI的一部分,它提供了SimpleXML的包装器。它有一个特殊的构造函数,用于捕获未知函数调用并将其转换为xpath请求

默认响应是返回另一个CFSimpleXML对象,通常您只需要该值,因此必须将其转换为正确的类型

$key = (string)$array[17]->Key
另一个更复杂的例子可能是这样的。如果您在AWS有一个已知的EC2实例,并且您需要它的可用性区域,请看下面的情况:

$description = $ec2->describe_instances(array('InstanceId' => $instance_id));

$availability_zone = (string)$description->body->reservationSet->item->instancesSet->item->placement->availabilityZone;

其中,$ec2是AmazonEC2对象的实例,$instance_id是实例的id,类似于i-6301ea00。返回的$description将作为CFSimpleXML对象返回,因此上面的函数调用实际上将转换为XML文档的遍历以获得可用性区域。

CFSimpleXML对象是Amazon Webservices PHP api的一部分,该api提供了SimpleXML的包装。它有一个特殊的构造函数,用于捕获未知函数调用并将其转换为xpath请求

默认响应是返回另一个CFSimpleXML对象,通常您只需要该值,因此必须将其转换为正确的类型

$key = (string)$array[17]->Key
另一个更复杂的例子可能是这样的。如果您在AWS有一个已知的EC2实例,并且您需要它的可用性区域,请看下面的情况:

$description = $ec2->describe_instances(array('InstanceId' => $instance_id));

$availability_zone = (string)$description->body->reservationSet->item->instancesSet->item->placement->availabilityZone;
其中,$ec2是AmazonEC2对象的实例,$instance_id是实例的id,类似于i-6301ea00。返回的$description将作为CFSimpleXML对象返回,因此上面的函数调用实际上将转换为XML文档的遍历以获得availabilityZone