可捕获致命错误:类stdClass的对象无法转换为字符串

问题在于: echo $village_id. "-" .$wg_village; echo $village_id. "-" .$wg_village; 它返回:

可捕获的致命错误:类stdClass的对象无法转换为第70行中的/files/function_20.php中的字符串

在第70行,我发布了那里的代码,函数完美地工作,只是返回一个带有错误的空白页面。

那条线有什么问题? 我该如何纠正?

编辑: var_dump $village_id$wg_village

string(5) "80784"
object(stdClass)#25 (35) {
  ["id"]=> string(5) "80784"
  ["name"]=> string(7) "NewName"
  ["x"]=> string(3) "-99"
  ["y"]=> string(3) "-14"
  ["kind_id"]=> string(1) "5"
  ["user_id"]=> string(1) "1"
  ["rs1"]=> int(36000) ["rs2"]=> int(36000)
  ["rs3"]=> int(36000) ["rs4"]=> int(36000)
  ["workers"]=> string(2) "51"
  ["troop_keep"]=> string(1) "0"
  ["time_update_rs1"]=> string(19) "2014-05-09 01:45:30"
  ["time_update_rs2"]=> string(19) "2014-05-09 01:45:30"
  ["time_update_rs3"]=> string(19) "2014-05-09 01:45:30"
  ["time_update_rs4"]=> string(19) "2014-05-09 01:45:30"
  ["nation_id"]=> string(1) "2" ["merchant_underaway"]=> string(1) "0"
  ["child_id"]=> string(0) "" ["cp"]=> string(3) "104"
  ["cpupdate_time"]=> string(19) "2014-05-08 21:49:55"
  ["krs1"]=> string(1) "1"
  ["krs2"]=> string(1) "1"
  ["krs3"]=> string(1) "1"
  ["krs4"]=> string(1) "1"
  ["faith"]=> string(1) "3"
  ["faith_time"]=> string(19) "2014-05-07 22:05:44"
  ["dateCreate_vila"]=> string(19) "2014-05-05 20:38:26"
  ["capa123"]=> int(36000)
  ["capa4"]=> int(36000)
  ["speedIncreaseRS1"]=> float(1000)
  ["speedIncreaseRS2"]=> float(600)
  ["speedIncreaseRS3"]=> float(800)
  ["speedIncreaseRS4"]=> float(1200)
  ["speedIncreaseRS4Real"]=> float(1149)
}

如果你正在引用一个object你不能把它当作一个string 。 尝试将其倾倒出来,看看你是否可以引用一个属性

 var_dump($village_id);
 var_dump($wg_village);

所以现在我们有一个转储,让我们尝试访问这些属性

 echo $village_id. "-" .$wg_village->name;

应该失败的唯一原因是该属性是protectedprivate ,但这看起来像一个数据库结果集。

您必须使用->运算符来引用属性。 你不能直接打电话给他们。 这个线程更详细地描述了这一点。


首先,您试图echo对象的内容。 因此,首先执行以下操作以查看$village_id以及$wg_village 。 您刚刚使用了var_dump但我更愿意将print_r<pre>标记一起用于可读性:

echo '<pre>'; 
print_r($village_id);
echo '</pre>'; 

echo '<pre>'; 
print_r($wg_village);
echo '</pre>'; 

所以你可以尝试一下,使事情更清晰。 但从我读的内容看来, $village_id是一个值为80784的字符串,而$wg_village是一个对象。 现在的事情是,你想从$wg_village对象得到什么?

您需要像这样访问数据:

echo $wg_village->id;
echo $wg_village->name;
echo $wg_village->x;
echo $wg_village->y;
etc…
链接地址: http://www.djcxy.com/p/58149.html

上一篇: Catchable fatal error: Object of class stdClass could not be converted to string

下一篇: >' in PHP?