请问php中能否定义常驻内存中的变量? “static int ”???你在写c吗?如果php可以实现这样的功能了还要数据库来做什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 但是变量名是无法无法用int来定义类型的 to uchinaboy怎么划分内存?to zxyufan and liushukai如果用static var 呢? php提供了类似于全局变量的定义。php的变量是无类型的,你可以看成是指针。随便怎莫使用,只是要保证兼容的正确性。 可能还有一种方法。定义共享内存,即信号量(SEMAPHORE),不过该类函数只能在UNIX下使用。以前我曾想过使用此类函数来建立聊天室,这样就不用数据库来存储了撒。不过也许是我认识肤浅,没想到更好的方法。不知道哪位大侠使用过这些函数。只能应用于UNIX,也许不好调试。 不要随便听他们的话!!!!!!!!(什么乱七八糟的共享内存)我告诉你,只要在该php页面的最上面定义了该变量那么在该页面的所有地方都有了但是你的问题是你的数据是在子函数里定义的,所以每次调用完该函数后变量就被自动销毁了所以你要在该函数里传递变量<?phpint $i;function test($i){$i++;return $i;};$i=test($i)echo $i;?> 刚刚看了那些函数,问题是里面的变量key是怎么回事?请高手给解答解答,谢谢 <?phpfunction test(){static $i;//$i=0;$i++;return $i;}echo test();echo test();echo test();?> 一个简单的比较,你可以把key认为和fopen函数文件名一样,二者返回的都是一个handle:$shm_id = shmop_open($key,"c", 0644, 100);$fp=fopen("xxxx","w"); 但是key应该是什么?是内存地址吗?怎么表示?能否给具体解释解释?万分感谢 justfly(紫风) 回复于2001-9-10 22:36:18 删除回复 to 小丸子我的目的是每次看那个页面都有不同的输出 我怎么感觉像计数器呢~~ >>>但是key应该是什么?是内存地址吗?怎么表示?能否给具体解释解释?比较一下:文件内容是存储在硬盘(etc...)上,通过一个唯一的文件名来进行存取key就是你要存取的共享内存块的唯一标识key是int类型,可以用10进制或16进制来表示,如0xfff 人家是做聊天室,你们那种static和global变量是没用的。哈哈哈哈——哎哟,是哪个用臭鸡蛋扔我。 你知道session吗在所有页面代码的前面加上<?php session_start();//在服务器端配置全局变量,具体我有点忘了?> to luncif 如果恰好那个内存段已经有软件在用的话,怎么办?to 乐悟 session是对于一个用户来说是全局变量,但是其他用户是不能访问的 我看做聊天室还是去看看JAVA吧。 to justfly:1.如果你指的是"那个内存段"有其他程序在运行 php的shmop函数是使用*nux的shmop系统调用工作,你不用担心,这应该不会发生2.如果你指的是别的程序也在存取这个内存段 (1)你可以使用一个不常用的key (2)shmop_open 使用第三个参数来设置存取权限 hehe,IE好象不支持push技术,只有netscape支持 to luncif不常用的key,可以举个例子吗? 【百度分享】MySQL 5.1分区技术初探(三) Notice: Undefined offset: 2048 in PHP 投票如何制作 php转义符的去除问题 phpmyadmin/index.php页面空白 php里怎么在sql server中创建表啊? 求ISAPI_rewrite,图片是否存在的规则? 一个日期排序的问题,sql语句的,帮忙????? PHP可以和LotusNotes自带的数据库连么? xxx.tar.gz,xxx.tar.z 的文件在 windows2000 下如何解压解包? form中变量的传值问题? 高分请教!一个php解析问题??
怎么划分内存?
to zxyufan and liushukai
如果用static var 呢?
php的变量是无类型的,你可以看成
是指针。随便怎莫使用,只是要保证
兼容的正确性。
不过也许是我认识肤浅,没想到更好的方法。不知道哪位大侠使用过这些函数。只能应用于UNIX,也许不好调试。
我告诉你,只要在该php页面的最上面定义了该变量
那么在该页面的所有地方都有了
但是你的问题是你的数据是在子函数里定义的,所以每次调用完该函数后变量就被自动销毁了
所以你要在该函数里传递变量
<?php
int $i;
function test($i){
$i++;
return $i;
};
$i=test($i)
echo $i;
?>
function test(){
static $i;
//$i=0;
$i++;
return $i;
}
echo test();
echo test();
echo test();
?>
$shm_id = shmop_open($key,"c", 0644, 100);
$fp=fopen("xxxx","w");
怎么表示?能否给具体解释解释?万分感谢
to 小丸子
我的目的是每次看那个页面都有不同的输出 我怎么感觉像计数器呢~~
比较一下:
文件内容是存储在硬盘(etc...)上,通过一个唯一的文件名来进行存取
key就是你要存取的共享内存块的唯一标识
key是int类型,可以用10进制或16进制来表示,如0xfff
在所有页面代码的前面加上
<?php
session_start();//在服务器端配置全局变量,具体我有点忘了
?>
to 乐悟 session是对于一个用户来说是全局变量,但是其他用户是不能访问的
1.如果你指的是"那个内存段"有其他程序在运行
php的shmop函数是使用*nux的shmop系统调用工作,你不用担心,这应该不会发生
2.如果你指的是别的程序也在存取这个内存段
(1)你可以使用一个不常用的key
(2)shmop_open 使用第三个参数来设置存取权限
不常用的key,可以举个例子吗?