2017-03-07 4 views
1
foreach($parcels as $parcel): 
     $length = $helper->convertToCM($parcel->length, $parcel->distance->name); 
     $width = $helper->convertToCM($parcel->width, $parcel->distance->name); 
     $height = $helper->convertToCM($parcel->height, $parcel->distance->name); 
     $weight = $helper->convertToKG($parcel->weight, $parcel->mass->name); 

     return array(
      "length"  => $length, 
      "width"   => $width, 
      "height"  => $height, 
      "weight"  => $weight, 
      "distance_unit" => env('SHIPPO_DISTANCE_UNIT'), 
      "mass_unit"  => env('SHIPPO_MASS_UNIT') 
     ); 

結果PHP/Laravel - 関数の変数に空が、私はforeachの

{ 
"length": {}, 
"width": {}, 
"height": {}, 
"weight": {}, 
"distance_unit": "cm", 
"mass_unit": "kg" 
} 

内のメソッドは、データを持って返すしかし、私は(foreachの内部)

return $length 

をすれば私が取得する場合期待される結果...何か愚かでなければならないが、私は何も見ていない。

+0

あなたがforeachループを返した場合、最初のITERATIONのforeachを驚くほど十分に終了させます – RiggsFolly

+0

これは問題ではありませんが、明らかに最初の反復で停止します。問題は変数がオブジェクトであることです。 –

答えて

1

問題は、メソッドが値の代わりにオブジェクトを返すことであったustそれはjson_decodeそれを持っていた。

関連する問題