设为首页 收藏本站
查看: 512|回复: 0

[经验分享] php中常用函数 引用详解

[复制链接]

尚未签到

发表于 2017-4-1 11:59:34 | 显示全部楼层 |阅读模式
  $uid=hexdec(substr(uniqid(),-12,8));用来生产一个随机码作为用户的id,
  hexdex()是将十六进制转换为十进制,遇到非十六进制数据这转换为0
  substr($str,bg,leng)返回$str字符中从bg开始长度为leng的字符,如果是负数的话他将从后面开始计数到下标从1开始然后向后取值,
  uniqid(prefix,true/false)根据当前时间的毫秒数生产一个随机数 ,默认是13位,当使用前缀prefix(int) 的时候 设为true 会产生23为并在后面加上一个平均信息值,是值更加唯一,
  strtotime("now")将时间转换为unix时间戳 返回string类型,
  session_set_save_handler()设置session的用户级别创建读写销毁
  array_slice($a,beg,leng,true);从数组$a的beg开始取出leng个值 true表示不改变键值,
  sleep(10)程序睡眠10秒
  $_SERVER[]是一个包含如头信息(header),路径(path)脚本位置(script locations)的数组,数组实体是由web创建的,下面是一些常用的字段:PHP_SELF 当前正在执行脚本的文件名,与document  root相关,eg:在url:http://example.com/test.php/foo.bar的脚本使用$_SERVER['PHP_SELF']将得到/test.php/foo.bar这个结果,__FILE__ 常量包含当前文件的绝对路径和文件名,如果php以命令行方式运行
  SERVER_NAME 当前运行脚本所在服务器主机的名称,如果该脚本运行在虚拟主机上,则显示该虚拟主机,
  REQUEST_METHOD 访问页面时的请求方法 get post head put
  REQUEST_TIME 请求开始时的时间戳,
  DOCUMENT_ROOT 当前运行脚本所在的文档跟目录,在服务器配置文件中定义,
  HTTP_HOST当前请求的头信息,
  REMOTE_ADDR 正在浏览当前页面用户的ip HOST PORT 
  

  php传值 与 传引用的区别 应用
  传值:函数内部对值的任何给变在函数外面都会被忽略,
  传引用:在啊函数内部对值的修改在函数外面也会体现,
  优缺点:按值传递的时候,php会把值复制一次,这在打的字符串中是很耗资源的,按引用传递则不会,在函数形式参数前加&表示传引用,这是引用很重要的一个用处就是传递变量,让函数可以改变一个变量的值,注意在调用函数的时候不用加&只用在声明的时候在参数里面加上即可,只有一部分可以通过引用传递:变量foo($a) new语句foo(new fooler()),从函数中返回的引用,直接传数值foo(5)将到致命错误,unset($aa)取消引用,当用 global $var 声明一个变量时实际上建立了一个到全局变量的引用。也就是说和这样做是相同的$var = & $global["var"]. 引用不是指针,
  在 PHP 中引用意味着用不同的名字访问同一个变量内容。php中允许两个变量指向同一个值$a = &$b像这样,
  复杂数组最好是拷贝不是引用,
  
  
//传值 传址 传引用
echo"<br/>";
$a = 2;
function test($n){//传值
$n +=2;
echo "$n";
}
test($a);//输出 4
echo "yuanzhi:"."$a";//输出2
function yinyong(&$m){
$m +=2;
echo "$m";
}
echo "<br/>";
yinyong($a);//输出4
echo "yingyong:"."$a";//输出4
echo "<br/>";
test($a);//输出6
//$aa = &$b;指 $a $b指向同一个值,他们是一个值的不同引用,任何一个改变都影响另一个
$aa = 5;//这个5不起作用在下面的$aa =& $b中,
$aa =& $b;//声明后两个变量同时指向一个地方,但此时两者都没有值 也不是null
$aa = 8;
echo "--------------<br/>";
echo $aa."aaaaa";//输出8
echo $b."bbbbbb";//输出8???????????????
unset($aa);//取消引用
//echo "$aa";//取消后显示为 Undefined variable
function foo(&$var){
$var +=2;
echo "$var";
}
$p = 5;
foo($p);//输出7 $p也将变为7,
function &bar(){//从函数中返回的引用也可以传递
$a = 8;
return $a;
}
foo(bar());//
//foo(5);//导致致命错误
foo($a = 5);//也可以,
echo"<br/>";
$var1 = "Example variable";
$var2 = "";
function global_references($use_globals)
{
global $var1, $var2;//如果在一个函数内部给一个声明为 global 的变量赋于一个引用,该引用只在函数内部可见。可以通过使用 $GLOBALS 数组避免这一点。
if (!$use_globals) {
$var2 =& $var1; // visible only inside the function
} else {
$GLOBALS["var2"] =& $var1; // visible also in global context
}
}
global_references(false);
echo "var2 is set to '$var2'\n"; // var2 is set to ''
global_references(true);
echo "var2 is set to '$var2'\n"; // var2 is set to 'Example variable'
echo "<br/>";
$ref = 0;
$row =& $ref;// 如果在 foreach 语句中给一个具有引用的变量赋值,被引用的对象也被改变。
foreach (array(1, 2, 3) as $row) {
echo $row;
}
echo $ref;//输出3,只输出数组中最后面的一个值,
echo "<br/>";
 

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-358690-1-1.html 上篇帖子: php构造函数和析构函数 下篇帖子: php中的错误与异常处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表