微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

刷新php中的所有变量

是否可以刷新正在运行的页面中的所有变量,或者我可以获得已经存储了一些数据的所有变量列表吗?

解决方法:

看一下

get_defined_vars()

http://php.net/manual/en/function.get-defined-vars.php

如果要打印完整的变量列表(包括超级全局),只需:

print_r(array_keys(get_defined_vars()));

此外,正如其他一些人在评论中提到的,如果你需要这个,你想要考虑减少你正在使用的变量的数量.根据我的经验,三种最简单的方法是在适当的时候覆盖变量,例如(愚蠢的例子):

$subtotal = 0;
for($i=0;$i<10;$i++){
   $subtotal = $subtotal + $i;
}
$total = $subtotal;

可以写得更好:

for($total=0;$total <10;$totaL++){
  //nothing, I'm just itterating
}

它允许你有一个变量而不是三个变量(这也会减少内存分配).另一个有用的技巧是将相关变量存储在数组或对象中.例如,而不是:

$number_of_widgets = 10;
$size_of_widgets = '120cm';
$cost_of_widgets = '$10.00';
$number_of_cogs = 13;
$size_of_cogs = '40cm';
$cost_of_cogs = '$3.00';

如果将它们添加到关联数组中,则更容易跟踪(并帮助防止意外的变量覆盖):

$widgets = array('quantity'=>10,'size'=>'120cm','cost'=>'$10.00');
$cogs = array('quantity'=>13,'size'=>'400cm','cost'=>'$3.00');

最后,如果您的变量不会被修改(并且不是数组),只需使用定义的常量:

define('MAX_WIDGET_QUANTITY',300);

这样做的好处是:(a)如果你想改变这些约束,将来很容易管理,(b)它可以在全球范围内自动获得,(c)它使代码更容易阅读,因为它是显然它应该是固定值,不应该被修改.

还有其他一些技巧,但这些通常会让您在变量可管理性方面走得更远.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐