如何从方法返回的数组中获取数据?

时间:2012-02-01 07:46:44

标签: php

我有一个方法可以制作神奇的东西,然后以数组的形式返回我的结果。

例如

public function somemethod()
{
    some stuff that builds an array

    return $stuff;
}

如果你做了

$s = stuff();
print_r($s->somemethod());

你得到像

这样的东西
array('a' => 'hi', 'b' => 'hello', 'c' => 'konnichiwa')

如何访问每个数组元素?

$s->somemethod()->a?

$s->somemethod()['a']

5 个答案:

答案 0 :(得分:1)

使用foreach:

foreach($s->somemethod() as $key => $value)
  //process $key and $value
}

或1乘1:

$arr = $s->somemethod();
$arr['a']
// $arr['b']
// $arr['c']

答案 1 :(得分:1)

你只需这样做:

$a = $s->somemethod();
echo( $a[ "a" ] );

答案 2 :(得分:1)

您有三种选择:

直接访问元素

$a = $s->somemethod();
echo $a['a'];

遍历所有元素

$a = $s->somemethod();
foreach ($a as $key => $value)
{
    echo $key . ': ' $value
};

将元素移动到变量中

list($a, $b, $c) = $s->somemethod();

答案 3 :(得分:0)

function objectToArray( $object ){
if( !is_object( $object ) && !is_array( $object ) ){
  return $object;}
 if( is_object( $object ) ){
  $object = get_object_vars( $object );}
   return array_map( 'objectToArray', $object );}

答案 4 :(得分:0)

注意:PHP 5.4 已发布尚未

在PHP 5.4中,您可以直接使用以下内容:

echo $s->somemethod()['a'];
相关问题