gpt4 book ai didi

PHP 显示所有已声明类的名称?

转载 作者:可可西里 更新时间:2023-11-01 00:12:06 26 4
gpt4 key购买 nike

假设我有这段代码:

<?php
class hello {
var $greeting = "hello";
function hello(){
echo $this->greeting;
return;
}
}

$hello1 = new hello;
$hello2 = new hello;
$hello4 = new hello;
?>

我如何让它回显实例化对象的所有名称(如果可能的话,它们各自的类),以便它回显(可能在数组中)“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);
}

仅供引用,您所说的“已声明的类”更广为人知的是“对象”。

你的第二个问题不可能。举个例子:

$hello1 = $hello2 = new hello();

现在,如果我调用 instance_name,它应该返回“hello1”还是“hello2”?

关于PHP 显示所有已声明类的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/822223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com