我面临一个奇怪的问题。这可能只是一个愚蠢的错误,我只是缺少一些基础知识。
我在MAMP上运行php 5.6.1。
我有一个简单的数组,我从一个mysql查询得到。使用foreach
循环,我可以print_r()
每个值,这给了我:stdClass Object ( [srno] => 6 [link] => this-is-link )
现在我可以echo $obj->srno
,打印得很好。但我不能使用我以前使用的echo $obj['srno']
,在较旧版本的PHP上,但它没有显示任何内容。
任何帮助真的很感激。谢谢!
答案 0 :(得分:1)
如果你有一个stdClass
对象并且需要将它作为一个数组来处理,你可以很容易地将它转换为数组:
$someObj = new stdClass();
$someObj->foo = "bar";
$someArray = (array)$someObj; // Cast the object to an array
echo $someArray['foo']; // Will give you "bar"
当然,正如评论已经指出的那样,您可能希望首先将mysql结果检索为数组。
答案 1 :(得分:0)
正如您所说,您的结果作为对象返回,因此您可以使用它来使用它 $ obj-> your_field_name显示字段值。但是你不能使用$ obj [' field_name'];