那么在这个问题的答案中:PHP的隐藏功能?
谈谈在PHP中使用标准类。 在他自己的例子中看起来很甜,但我不能让它工作,在这里。
代码是:
$person = new stdClass();
$person->name = 'bob';
$person->age = 5;
$string ="$person->name is $person->age years old.";
?>
我意识到我可能完全误解了答案,但无论如何,这就是我所理解的:)
我不明白的是(最重要的)stdClass(); 我读:
什么是PHP中的stdClass? 但我想我现在更加困惑了。 (老实说,我没有找到接受的答案非常有用)
提前致谢!!
编辑:
该死的!! 我很抱歉! 我不是代码相关的!! 当我将代码复制到ideone.com时,我只是用它复制一些其他值并阻止它工作(或者至少这是我最好的猜测)在codepad.org工作得很好,我正在切换!!
你的PHP版本是什么? 它应该正常工作。 你对stdClass有什么不了解?
换句话说:stdClass是object基础类型,与其他语言一样。 尽管在PHP中它并不是所有对象的基础。
为了在旧版本的PHP中插入字符串中的对象成员,您应该用大括号括起它们:
$string ="{$person->name} is {$person->age} years old.";
除非您指的是数组的对象属性,否则不需要大括号。
它没有括号,对我有用。:)
谢谢@Jacob! 问题解决了看我的编辑,对不起,但它确实工作没有像@alex指出的大括号!
适合我。
你的PHP> 5.1?
试试这个
var_dump(version_compare(PHP_VERSION, 5.1, '>'));
更新
你的例子适合我。 你忘记输出你的字符串了吗?:P
不,不,我直接在ideone.com上尝试,也许我在复制粘贴中得到了别的东西! 让我检查一下,谢谢!!
@Akinator看我的编辑。
谢谢@alex! 问题解决了看我的编辑,对不起!
当你使用mysql_fetch_object()时,它返回一个stdClass的实例。 列是此类的属性。 这就像一个匿名的课程。 这是因为PHP没有为世界上每个可能的表创建一个类。 所以这非常方便。
为什么要将数据库访问带入此中?
谢谢,但我不明白你的答案,但无论如何看到我的编辑! 再次感谢!
这只是stdClass可以使用的一个例子。