2016-01-21 39 views
0

如何与可变达到的对象属性在php

foreach(["ge","en","ru"] as $lang) 
     { 
      Tour_trans::create([ 
       "tour_id" => $tour->id, 
       "lang_id" => Langs::where('lang', $lang)->first()->id, 
       "title" => $data["" . $lang . "_title"], 
       "location" => $data["" . $lang . "_location"], 
       "dept_time" => $data["" . $lang . "_dept_time"], 
       "depture_time" => $data["" . $lang . "_dept_time"], 
       "return_time" => $data["" . $lang . "_return_time"], 
       "body" => $data["" . $lang . "_body"], 
       "days" => $data["all_days"]->$lang 
      ]); 
     } 

$数据是JSON对象。一切工作正常,除了最后一行

"days" => $data["all_days"]->$lang 

我得到了错误stdClass类的对象无法转换为字符串。 在$数据[“all_days]有3个数组对象 - GE,EN,RU,所以我想在循环

+0

我们展示的'$ data' VAR – Tommy

+0

一个'var_dump'什么是你的JSON结果? – KinjalMistry

回答

0

这取决于json_decode第二个参数的选择,以达到此属性:

mixed json_decode (string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]]) 

如果$assoc设置为true,那么你回来的关联数组。如果它被设置为false,那么你得到的对象。