前两天在看鸟哥的微博的时候发现了一个很有趣的问题关于PDO类的使用中有个buildparam这个方法的问题。
就是在我们执行这个方法中假设有两个key-value对中分别有两个值$arr = array(‘weibo‘=>‘weibo‘,‘niaoge‘=>‘niaoge‘);
假设在foreach($arr=>$v){
$brr["weibo"] = $v["weibo"];
$brr["niaoge"] = $v["niaoge"];
}
会出现$brr的key-value队是这样的 $brr = array("niaoge"=>"niaoge","weibo"=>"weibo");
为什么会产生这样的问题呢 就是因为在buildparam这个方法中它里面有引用传值的问题。所以在foreach一个数组中慎用引用传值啊。
第二个比较注意的就是在用foreach的过程中 我们要有一些心理预期啊。假设一个数组的值非常大的情况下,我们需要一点非常和注意的地方。这么做可能会超出php的内存设置。
在你的php.ini文件里设置memory_limit = 12M
。我们知道在用foreach的过程中它是会产生映射的。比如一个数组有1000KB的,那么用foreach就会造成2000KB。那么就会超出我们刚才的PHP内存设置。所以duang报错。
原文:http://www.cnblogs.com/harder/p/4345757.html