Yif*_*fan 3 php class instance-variables
让我说我有这个代码:
<?php
class hello {
var $greeting = "hello";
function hello(){
echo $this->greeting;
return;
}
}
$hello1 = new hello;
$hello2 = new hello;
$hello4 = new hello;
?>
Run Code Online (Sandbox Code Playgroud)
我如何让它回显所有实例化对象的名称(如果可能的话,它们各自的类),以便它回声(可能在数组中)"hello1 => hello,hello2 => hello,hello4 => hello".
如果这是不可能的,有没有办法从类中告诉实例的名称,如echo instance_name($ this); 会让我"hello1".谢谢.
您可以调用get_defined_vars以获取所有对象的数组,然后使用它get_class来获取每个对象的类名(代码未经过测试,但它应该可以工作):
$vars = array();
foreach (get_defined_vars() as $var) {
$vars[$var] = get_class($var);
}
Run Code Online (Sandbox Code Playgroud)
仅供参考,您所谓的"宣称类"更为人所知的是"对象".
你的第二个问题是不可能的.举个例子:
$hello1 = $hello2 = new hello();
Run Code Online (Sandbox Code Playgroud)
现在,如果我打电话instance_name,它应该返回'hello1'还是'hello2'?