1

我有一个这里很多人已经问过的问题:尝试回显字符串时,“可捕获的致命错误:Struct 类的对象无法转换为 D:\Programy\XAMP\htdocs\e-history 中的字符串\test.php 在第 30 行"。对于大多数相关问题,建议尝试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";

4

1 回答 1

2

这两行之间有区别:

echo "$places[$j]->gid";
echo $places[$j]->gid;

第一个错误地尝试访问字符串变量中的对象。第二个访问它就像var_dump. 无需将变量包含在双引号中!

第一个版本应该是这样的:

echo "{$places[$j]->gid}";
于 2013-08-08T21:18:52.547 回答