是否可以专门为变量设置内存限制?

时间:2010-09-01 13:16:52

标签: php

是否可以专门为变量设置内存限制? (如果大于php.ini中的memory_limit,这个限制当然没用。)

我希望$ foo总是比1mb大,但不关心其他变量的大小。

3 个答案:

答案 0 :(得分:3)

不,不可能对PHP中的变量强加大小限制。

根据您的目的,您可以构建一个setter function的类,在为类的变量赋值之前检查大小。

答案 1 :(得分:1)

在你的情况下,$ foo是什么?如果是字符串,则可以使用字符限制执行此操作。如果是数字,您可以查看数字大小。

答案 2 :(得分:0)

基于检查字符串字符数的想法: 我可以使用$foo的字符串表示,例如print_r($foo,true),并检查字符数。

if(strlen(print_r($foo,true))<10000){
  /*do something*/
};

(虽然这个解决方案不能用于耗费时间和功耗。而且这是检查所需内存空间的一种非常粗略的方法。)