我遇到了很多人已经问过的问题:当尝试回显字符串时,“可捕获的致命错误:类的结构对象无法转换为D:\ Programy \ XAMP \ htdocs \中的字符串第30行的电子历史\ test.php“。对于大多数相关问题,建议尝试var_dump()
功能。但是,我试过这个,一切似乎都没问题,除了它抛出错误。
我的代码(测试版):
$place = Struct::factory('gid','lat','lon','radius');
$places = loadPlaces('', 50, 14);
$j = 0;
var_dump($places[$j]->gid);
echo "$places[$j]->gid";
var_dump和echo的输出如下:
string(1) "6"
Catchable fatal error: Object of class Struct could not be converted to string in D:\Programy\XAMP\htdocs\e-history\test.php on line 30
通常$ object->值表示法没有问题,我不知道为什么它在这种情况下不起作用。我在阵列/对象不匹配方面遇到了一些问题,但我几乎肯定不是这种情况。知道怎么解决吗?
编辑:我的代码中的第30行是:echo "$places[$j]->gid";
答案 0 :(得分:2)
这两行之间存在差异:
echo "$places[$j]->gid";
echo $places[$j]->gid;
第一个错误地尝试访问字符串变量中的对象。第二个访问它就像var_dump
一样。没有必要将变量包装在双引号内!
第一个版本应该是这样的:
echo "{$places[$j]->gid}";