是否可以专门为变量设置内存限制? (如果大于php.ini中的memory_limit,这个限制当然没用。)
我希望$ foo总是比1mb大,但不关心其他变量的大小。
答案 0 :(得分:3)
不,不可能对PHP中的变量强加大小限制。
根据您的目的,您可以构建一个setter function的类,在为类的变量赋值之前检查大小。
答案 1 :(得分:1)
在你的情况下,$ foo是什么?如果是字符串,则可以使用字符限制执行此操作。如果是数字,您可以查看数字大小。
答案 2 :(得分:0)
基于检查字符串字符数的想法:
我可以使用$foo
的字符串表示,例如print_r($foo,true)
,并检查字符数。
if(strlen(print_r($foo,true))<10000){
/*do something*/
};
(虽然这个解决方案不能用于耗费时间和功耗。而且这是检查所需内存空间的一种非常粗略的方法。)