Php 返回每个结果

Php 返回每个结果,php,Php,我能够在foreach循环中打印来自yahoo API的数据。但是,我无法在函数的最后一行返回它 function callcontact_yahoo($consumer_key, $consumer_secret, $guid, $access_token, $access_token_secret, $usePost=false, $passOAuthInHeader=true) { $retarr = array(); // return value $response = ar

我能够在foreach循环中打印来自yahoo API的数据。但是,我无法在函数的最后一行返回它

function callcontact_yahoo($consumer_key, $consumer_secret, $guid, $access_token, $access_token_secret, $usePost=false, $passOAuthInHeader=true)
{
  $retarr = array();  // return value
  $response = array();

    $yahoo_array = array();
    $newList = "";
    // extract successful response
        if (! empty($response)) 
            {
                list($info, $header, $body) = $response;
                    if ($body) 
                        {
                            $yahoo_array = json_decode($body);

                            echo "<pre/>";
                                foreach($yahoo_array as $key=>$values)
                                    {                
                                        foreach($values->contact as $keys=>$values_sub)
                                            {
                                                $fields = $values_sub->fields;
                                                    foreach($values_sub->fields as $field)
                                                        {
                                                            $convers = $field->value;
                                                        }
                                                $oneemail   = $convers.",";
                                                //print_r($oneemail);
                                                //echo "</br>";
                                                echo "I am one email:  $oneemail </br>";
                                            } 
                                    }
                        }
            }
  return $retarr;
}
在echo中,我是一封电子邮件:$oneemail;,在那里我可以看到我的所有电子邮件联系人列表。但是如何将其作为$retarr的回报返回;请帮忙。我试着调试它,但仍然没有得到的想法

你是这样说的:

foreach($values->contact as $keys=>$values_sub)
{
    $fields = $values_sub->fields;
    foreach($values_sub->fields as $field)
    {
    $convers = $field->value;
    }
    $oneemail   = $convers.",";
    //print_r($oneemail);
    //echo "</br>";
    echo "I am one email:  $oneemail </br>";
    $retarr[] = $oneemail;
} 

这就是你的意思吗?$retarr[]=$oneemail我试过了,但没有返回任何东西。请将它放在echo I am one email:$oneemail;是的,我有。但它不返回任何内容。您从不分配$retarr,您只需初始化它,这就是为什么它不返回任何内容。我只能对其进行var_转储。但是它没有返回。用索引回显它。与echo$retarr[0]类似,我甚至在上面的return$retarr;,中回显了$retarr[0];,但是仍然没有显示任何内容。返回前的print_r$retarr是否显示任何内容?在$retarr[]=$oneemail;显示电子邮件联系人列表。但是如果我把它放在}关闭foreach$values->contact as$keys=>$values\u sub之后,它不会打印任何内容。