0

返されたデータでループ後に $value を返す方法は? ループの前に配列を作成し、それを $v に等しくしてループの後に使用することを考えていますが、うまくいきませんでした。

この問題を解決する方法について何か考えはありますか?

// create array
$v = array();

// start loop
foreach ($this->json_data->locations as $key => $value) {
    if ($value->country_name == $data['city']->country_name)
        // return $value with data
        return $v = $value ; 
}

echo $v->country_name
4

4 に答える 4

4
try this:

$v = array(); 
foreach ($this->json_data->locations as $key => $value) {
 if ($value->country_name == $data['city']->country_name)
 {
    if(!in_array($value,$v))
    {
     array_push($v,$value);                 
    }
 }
}
于 2013-09-23T09:29:13.483 に答える
2

これを試して

 $v = array();
    $i=0;
    // start loop
                foreach ($this->json_data->locations as $key => $value) {
                    if ($value->country_name == $data['city']->country_name)
    // return $value with data
                         $i++;
                         $v[$i] = $value ; 
                }
    //print $v
                print_r($v)
于 2013-09-23T09:32:24.410 に答える
0

次のコードが役立つと思います。

// create array
     $v = array();
// start loop
        foreach ($this->json_data->locations as $key => $value) {
            if ($value->country_name == $data['city']->country_name)
// return $value with data                  
           array_push($v, $value); 
        }
             return $v;
于 2013-09-23T09:33:44.863 に答える