有没有办法获取变量的名称? PHP-反射 - php

我知道这不完全是反思,而是某种。
我想制作一个获取变量并输出var_dump和变量名的调试函数。

当然,当程序员编写对函数的调用时,他们已经知道变量的名称,因此可以编写如下内容:

debug( $myvar, 'myvar' );

但我希望它可以快速,轻松地编写,只需函数名,变量和voilà即可!

debug( $myvar ); // quicker and easier :)

参考方案

您可以通过在将变量传递给函数之前将变量转换为键/值集来实现。

function varName($theVar) {  
   $variableName = key($theVar);  
   $variableValue = $theVar[$variableName];  
   echo ('The name of the variable used in the function call was '.$variableName.'<br />');  
   echo ('The value of the variable used in the function call was '.$variableValue.'<br />');  
}
$myVar = 'abc';
varName(compact('myVar'));

尽管我不建议创建对无名变量的引用,但function varName(&$theVar)也可以。

由于compact()将变量名作为字符串而不是实际变量,因此在变量名列表上进行迭代应该很容易。

关于您为什么要这样做-不要问我,但是似乎很多人都在问这个问题,所以这是我的解决方案。

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

PHP-如何获取类的成员函数列表? - php

如果我知道班级的名字。有没有办法知道类的成员函数列表? 参考方案 get_class_methods()是你的朋友

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

PHP-我们应在会话中包含哪些数据? - php

这是一个初学者的问题...在网站中,会话中应该包含或不应该包含什么类型的数据?我了解我不应该包含任何需要保持安全的信息。我对编程最佳实践更感兴趣。例如,有可能在会话中包括一些数据,否则这些数据将作为依赖项注入从一个页面发送到另一个页面。这不等于创建全局变量吗?一般来说,哪种数据在会话表中已经存在或没有?谢谢,JDelage 参考方案 您应该将会话视为一次写入…