这里有很多人已经问过我一个问题:当试图回显字符串时,"可捕获的致命错误:类Struct的对象无法在第30行的D:''Programy''XAMP''htdocs''e-history''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->value表示法没有问题,我不知道为什么它在这种情况下不起作用。我遇到了一些数组/对象不匹配的问题,但我几乎可以肯定不是这种情况。知道怎么解决吗?
编辑:我的代码中的第30行是:echo "$places[$j]->gid";
这两行之间有区别:
echo "$places[$j]->gid";
echo $places[$j]->gid;
第一个错误地尝试访问字符串变量中的对象。第二个像var_dump
一样访问它。没有必要将变量包装在双引号内!
第一个版本应该是这样的:
echo "{$places[$j]->gid}";