浏览模式: 普通 | 列表
6月, 2011 | 1

php动态变量关于数组的处理

[ 2011-06-03 10:31:15 | 作者: admin ]
<?php
$arrNameA=array();
$arrNameB=array();

$arr_curent='arrNameA';

${$arr_curent}[] = "00";
${$arr_curent}[] = "11";
${$arr_curent}[] = "22";
${$arr_curent}[] = "33";

var_dump(${$arr_curent});
?>

PHP初学者头疼问题总结

[ 2011-06-03 08:41:15 | 作者: admin ]
【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到
当然也可以修改自动全局变量为开(php.ini改为register_globals = On);考虑到兼容性,还是强迫自己熟悉新的写法比较好。
================================
PHP中的超全局变量
从PHP 4.2.0 开始,register_globals 的默认值为 off,这样一来,以前的很多可以直接使用的变量,如 $PHP_SELF 或者你设定的SESSION变量都不能用 “$变量名”的形式访问了,这可能会给你带来很多不变,但却有助于安全性的提高。访问这些变量,你需要使用PHP 超全局变量,如下:
...

阅读全文…

PHP缓存数组的实现

[ 2011-06-03 08:24:43 | 作者: admin ]
将php文件中经常用到,并且需要经常多次查询数据库的,用到缓存将可以很好的降低内存消耗,加快访问速度。

这里讨论的是使用serialize将数组转成字串,存储在文件中,使用的时候再将字串转换成数组,为什么不用文件直接存储数组,这也是可以的。

PHPWind,discuz就是这么干的,但这里就不讨论了。

通过serialize,unserialize,fread实现存储和释放数组的过程,代码如下:

function array2file($file,$array){
         $fp = fopen($file, "wb");
         fwrite($fp, serialize($array));
         fclose($fp);
}

function file2array($file){
         if(!file_exists($file)){
...

阅读全文…
1