当前位置:  编程技术>php
本页文章导读:
    ▪通过实例看php地址引用的效率问题      通过实例看php地址引用的效率问题,注意看注释。   代码如下: <?php echo 'begin time:'.$begin=microtime(false).'<br/>';//begin to count time $array=array(); for ($i=1;$i<=10000;$i++) {//产生一个很大的数组.........
    ▪使用php生成局部唯一识别码LUID的方法      本文为大家介绍一种在php中返回一个唯一在本地系统中独一无二的字符串的方法,供大家学习参考。 UUID(Universally Unique Identifier),GUID都是希望在整个时空范围内能产生唯一识别码,这在分布.........
    ▪有关php引用地址改变变量值的问题      代码如下。   代码如下: <?php $foo = 'Bob'; // 将 'Bob' 赋给 $foo $bar = &$foo; // 通过 $bar 引用 $foo echo $foo.'<br/>'; $bar = "My name is $bar"; // 修改 $bar 变量 echo $bar.'<br/>'; echo $foo.'<br/&g.........

[1]通过实例看php地址引用的效率问题
    来源: 互联网  发布时间: 2013-12-24

通过实例看php地址引用的效率问题,注意看注释。
 

代码如下:
<?php
echo 'begin time:'.$begin=microtime(false).'<br/>';//begin to count time
$array=array();
for ($i=1;$i<=10000;$i++) {//产生一个很大的数组
$array[$i]=$i;
}
/*
$arr=$array;//拷贝 拷贝并打印总时间0.02
foreach ($arr as $ar) {
echo $ar.'<br/>';
}
*/
/*
$newarr=&$array;//地址引用 时间总是控制在0.01之内 地址引用的优势体现出来了
foreach ($newarr as $r) {
echo $r.'<br/>';
}
*/
foreach ($array as $a) {//基本是0.02 很少是0.01 为什么没有地址引用的快呢?纳闷
echo $a.'<br/>';
}
echo 'end time:'.$end=microtime(false).'<br/>';//end to count time
echo 'total time:'.($end-$begin);
?>

您可能感兴趣的文章:
php引用传值的详细介绍
通过实例理解php中传值与传引用的区别
有关php引用地址改变变量值的问题
PHP中的引用,“&”解释


    
[2]使用php生成局部唯一识别码LUID的方法
    来源: 互联网  发布时间: 2013-12-24

本文为大家介绍一种在php中返回一个唯一在本地系统中独一无二的字符串的方法,供大家学习参考。

UUID(Universally Unique Identifier),GUID都是希望在整个时空范围内能产生唯一识别码,这在分布式计算环境下是必要的. 然而,如果仅仅是想在一个受限定的局部环境下,想生成一个"局部唯一识别码",使用UUID就是杀鸡用牛刀,这个"局部唯一识别码",称之为LUID(Local Unique Identifier)

比如我在用php开发网站程序时,为避免用户同时多次打开同一个网页导致session名称冲突问题, 就希望保存的session不是$_SESSION['param'],而是$_SESSION[$luid]['param'],再通过其他方式传递$luid值,保证'param'参数不被覆盖. 查找了一下别人的解决方式,都是生成UUID,而生成UUID的算法洋洋洒洒上百行。
考虑到因为是在SESSION空间里,是一个受限定的环境,其唯一性的强度不必太高,只要在同一个SESSION的生存期限内唯一就可以了,看下面的代码:
 

代码如下:
<?php
/**
* 返回一个唯一在本地系统中独一无二的字符串,
* 返回的是32个字符的字符串,形式如'7dac352074f221f3edc74d265c65a636',或'd198d8fc56ffed627f3f8313d6f06acf'
*/
function LUID(){
return MD5(microtime());
}
?>
 

其实就一行:return MD5(microtime());

按道理microtime()返回的字符串就已经是唯一的了,测了一下,即使连续执行microtime(),返回值也有100us以上的差别,而使用者点击,并在网络上传递再由服务器处理的间隔远不止几十ms,加上md5只是让结果杂乱化。


    
[3]有关php引用地址改变变量值的问题
    来源: 互联网  发布时间: 2013-12-24

代码如下。
 

代码如下:
<?php
$foo = 'Bob'; // 将 'Bob' 赋给 $foo
$bar = &$foo; // 通过 $bar 引用 $foo
echo $foo.'<br/>';
$bar = "My name is $bar"; // 修改 $bar 变量
echo $bar.'<br/>';
echo $foo.'<br/>'; // $foo 的值也被修改
?>

输出:
Bob
My name is Bob
My name is Bob

可以看到原始值被修改了,发生在引用且被赋值之后,但被赋值之前原始变量是不会改变的。

您可能感兴趣的文章:
php引用传值的详细介绍
通过实例理解php中传值与传引用的区别
通过实例看php地址引用的效率问题
PHP中的引用,“&”解释


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
互联网 iis7站长之家
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3