博客

  • PHP $GLOBALS超全局变量分析

    php中有一个不为很多人所用的超全局变量$GLOBALS。合理使用这个变量能使工作变得更加有效率,本篇文章主要分析一下这个超全局变量的用法以及$GLOBALS和global的区别。

    $GLOBALS定义:引用全局作用域中可用的全部变量(一个包含了全部变量的全局组合数组。变量的名字就是数组的键),与所有其他超全局变量不同,$GLOBALS在PHP代码中任何地方总是可用的,自己可以通过打印$GLOBALS这个变量的结果就知道了。

    在PHP生命周期中,定义在函数体外部的所谓全局变量,函数内部是不能直接获得的。如果要在函数体内访问外部定义的全局变量,可以通过global声明或者直接使用$GLOBALS来进行访问,例如:

    <?php
    $var1='www.phpernote.com';
    $var2='www.google.cn';
    test();
    function test(){
        $var1='taobao';
        echo $var1,'<br />';
        global $var1;
        echo $var1,'<br />';
        echo $GLOBALS['var2'];
    }
    

    结果将打印为:

    taobao
    www.phpernote.com
    www.google.cn
    

    下面主要说明一下global和$GLOBALS的区别:

    $GLOBALS[‘var’]是外部的全局变量本身,而global $var是外部$var的同名引用或者指针,也就是说global在函数产生一个指向函数外部变量的别名变量,而不是真正的函数外部变量,而$GLOBALS[]确确实实调用的是外部的变量,函数内外会始终保持一致。下面通过例子说明一下:

    $var1=1;
    $var2=2;
    function test(){
        $GLOBALS['var2']=&$GLOBALS['var1'];
    }  
    test();
    echo $var2;
    

    打印结果为1

    $var1=1;
    $var2=2;
    function test(){
        global $var1,$var2;
        $var2=&$var1;
    }  
    test();
    echo $var2;
    

    打印结果为2。为什么会打印结果为2呢?其实就是因为$var1的引用指向了$var2的引用地址。导致实质的值没有改变。我们再来看一个例子。

    $var1=1;
    function test(){
        unset($GLOBALS['var1']);
    }  
    test();
    echo $var1;
    

    因为$var1被删除了,所以什么东西都没有打印。

    $var1=1;
    function test(){
        global $var1;
        unset($var1);
    }  
    test();
    echo $var1;
    

    打印结果为1。证明删除的只是别名|引用,起本身的值没有受到任何的改变。也就是说global $var其实就是$var=&$GLOBALS[‘var’]。调用外部变量的一个别名而已。

  • 在线工具箱【开发者专属】

    格式化

    JS/HTML格式化工具

    简单易用的JS/HTML格式化工具

    CSS代码格式化工具

    实现CSS代码格式化和CSS在线压缩

     

    代码转换

    HTML/JS转换工具

    简单易用html代码和js代码互转工具

    UTF-8编码转换工具

    可实现UTF-8编码转换

    Unix时间戳转换工具

    在线Unix时间戳转换工具

     

    加密解密

    MD5加密工具

    可实现MD5在线加密

    URL网址16进制加密工具

    在线网址URL16进制加密工具

    Escape加密/解密工具

    可实现在线Escape加密/解密

     

    文字处理

    汉字转拼音工具

    在线汉字转拼音工具

    字母大小写转换工具

    简单易用的英文字母大小写转换工具

    繁体字转换器

    简体字转繁体字工具 & 繁体字转简体字工具

    火星文转换器

    火星文转换器工具

    人民币大写在线转换工具

    在线人民币大写在线转换工具

    在线去重工具

    去除文本列表中的重复项

    字数统计工具

    可快速在线统计字数

     

    配色

    中国传统色彩

    日本色彩大全

    Japan's traditional colors

     

    规范

    UI尺寸规范

    iPhone/iPad/Android设计尺寸规范

    Web尺寸规范

    网页设计Web尺寸规范

     

    符号

    特殊符号大全

    特殊符号大全2016v2

    HTML特殊符号对照表

    最全的HTML特殊符号对照表2016

     

    本文原创发布php中文网 ,转载请注明出处,感谢您的尊重!
  • PHP超全局变量$_SERVER

    $_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。

    1. $_SERVER[‘HTTP_HOST’]  请求头信息中的Host内容,获取当前域名。
    2. $_SERVER[“SERVER_NAME”]  输出配置文件httpd.conf中的ServerName,一般情况下与HTTP_HOST值相同,但如果服务器端口不是默认的80端口,或者协议规范不是HTTP/1.1时,HTTP_HOST会包含这些信息,而SERVER_NAME不一定包含。(主要看配置文件的设置)。
    3. $_SERVER[“HTTP_USER_AGENT”]  获取用户相关信息,包括用户浏览器、操作系统等信息。
    4. $_SERVER[‘HTTP_ACCEPT’]  当前请求的ACCEPT头部信息。
    5. $_SERVER[“HTTP_ACCEPT_LANGUAGE”]  这个值是由浏览器发送,表明用户默认的语言设置,后面的q值表示用户对该语言的喜好程度。
    6. $_SERVER[“HTTP_ACCEPT_ENCODING”]  大部分的现代浏览器都支持gzip压缩,并会把这一信息报告给服务器。这时服务器就会压缩过的HTML发送给浏览器。这可以减少近80%的文件大小,以节省下载时间和带宽。
    7. $_SERVER[“HTTP_COOKIE”]  浏览器的cookie信息。
    8. $_SERVER[“HTTP_CONNECTION”]  当前请求的连接情况。
    9. $_SERVER[“HTTP_UPGRADE_INSECURE_REQUESTS”]  表示浏览器可读懂服务器发过来的请求,
    10. $_SERVER[“HTTP_CACHE_CONTROL”]  表示浏览器是否会缓存这个页面信息。
    11. $_SERVER[“PATH”]  当前脚本所在文件系统。
    12. $_SERVER[“SystemRoot”]  当前服务器的操作系统。
    13. $_SERVER[“COMSPEC”]  指向cmd.exe的路径。
    14. $_SERVER[“PATHEXT”]  环境变量设置。
    15. $_SERVER[“WINDIR”]  脚本指向的系统目录。
    16. $_SERVER[“SERVER_SIGNATURE”]  包含服务器版本和虚拟主机名的字符串。
    17. $_SERVER[“SERVER_SOFTWARE”]  服务器软件配置信息。
    18. $_SERVER[“SERVER_ADDR”]  当前运行脚本的服务器的ip地址。
    19. $_SERVER[“SERVER_PORT”]  服务器端口。
    20. $_SERVER[“REMOTE_ADDR”]  浏览网页的用户ip。
    21. $_SERVER[“DOCUMENT_ROOT”]  当前运行脚本所在的根目录。
    22. $_SERVER[“REQUEST_SCHEME”]  服务器通信协议,是http或https。
    23. $_SERVER[“CONTEXT_PREFIX”]  前缀。
    24. $_SERVER[“CONTEXT_DOCUMENT_ROOT”]  当前脚本所在的文档根目录。
    25. $_SERVER[“SERVER_ADMIN”]  服务器管理员信息。
    26. $_SERVER[“SCRIPT_FILENAME”]  当前执行脚本的绝对路径。
    27. $_SERVER [“REMOTE_PORT”]  用户连接到服务器时所使用的端口。
    28. $_SERVER[“GATEWAY_INTERFACE”]  服务器使用的CGI规范的版本。
    29. $_SERVER[“SERVER_PROTOCOL”]  请求页面时通信协议的名称和版本。
    30. $_SERVER[“REQUEST_METHOD”]  请求提交数据的方式。
    31. $_SERVER[“QUERY_STRING”]  服务器请求时?后面的参数。
    32. $_SERVER[“REQUEST_URI”]  当前脚本路径,根目录之后的目录。
    33. $_SERVER[“SCRIPT_NAME”]  当前脚本的路径。这在页面需要指向自己时非常有用。
    34. $_SERVER[“PHP_SELF”]  当前正在执行脚本的文件名。
    35. $_SERVER[“REQUEST_TIME”]  得到请求开始时的时间戳。
  • php str_replace函数怎么用

    str_replace()是PHP中的一个内置函数,用于对字符串或数组进行替换操作,以其他字符替换字符串或数组中的一些字符(区分大小写)。

    php str_replace函数怎么用?

    php str_replace() 函数用于进行字符串替换操作,区分大小写。

    基本语法:

    1

    str_replace ( $searchVal, $replaceVal, $subjectVal, $count )

    参数:该函数接受四个参数,其中3个是强制性的,1个是可选的。所有这些参数如下所述:

    ● $searchVal:此参数可以是字符串和数组类型。此参数指定要搜索和替换的字符串。$ replaceVal:此参数可以是字符串和数组类型。此参数指定要用于替换

    ● $searchVal字符串的字符串。

    ● $subjectVal:此参数可以是字符串和数组类型。此参数指定我们要搜索$ searchVal并使用$ replaceVal替换的字符串或字符串数组。

    ● $count:此参数是可选的,如果传递,则其值将设置为对字符串$ subjectVal执行的替换操作的总数。

    该函数必须遵循下列规则:

    ● 如果$ searchVal和$ replaceVal参数是数组,那么$ searchVal参数的所有元素都在$ subjectVal字符串中搜索,并被$ replaceVal参数中的相应元素替换。

    ● 如果$ replaceVal中的元素数量少于$ searchVal数组中的元素数量,那么如果$ subjectVal参数中的$ searchVal参数的其他元素出现,则它们将被空字符串替换。

    ● 如果$ subjectVal参数也是一个数组而不是字符串,那么将搜索$ subjectVal的所有元素。

    返回值:此函数根据带有替换值的$ subjectVal参数返回字符串或数组。

    下面通过示例来看看php str_replace()函数的使用方法。

    示例1:

    1

    2

    3

    <?php

    echo str_replace("world","php.cn","Hello world!");

    ?>

    输出:

    1

    Hello php.cn!

    示例2:

    1

    2

    3

    4

    <?php

    $i = "i like JavaScript";

    echo str_replace("JavaScript","php",$i);

    ?>

    输出:

    1

    i like php

    本文原创发布php中文网 ,转载请注明出处,感谢您的尊重!
  • php 最常用的内置函数大全

    $_SERVER[‘SCRIPT_NAME’] 返回/mantis/test.php,相对路径;
    __FILE__ 返回文件的绝对路径D:\Projects\mantis\test.php
    $_SERVER[‘HTTP_X_FORWARDED_PROTO’]
    $_SERVER[‘HTTPS’]
    $_SERVER[‘SERVER_PORT’]
    $_SERVER[“REQUEST_URI”] URI 用来指定要访问的页面
    $GLOBALS一个包含了全部变量的全局组合数组。变量的名字就是数组的键。 
    explode 使用一个字符串分割另一个字符串 返回一个字符串数组
    implode 使用一个字符将数组元素链接成字符串
    $_SERVER[‘SERVER_NAME’] 当前脚本所在服务器的主机名
    $_SERVER[‘HTTP_HOST’] 域名
    $_SERVER[‘SERVER_ADDR’] 当前脚本所在服务器的IP地址
    trim去除字符串首尾处的空白字符
    basename 返回文件名部分
    dirname 返回目录部分
    krsort — 对数组按照键名逆向排序
    set_time_limit()设置脚本最大执行时间
    time() 返回当前的unix时间戳
    is_string()判断变量是不是字符串
    is_bool
    is_Inteter
    is_float
    strtotime — 将任何英文文本的日期时间描述解析为 UNIX 时间戳
    file_exists 检查文件或目录存不存在
    fopen()打开指定的文件或URL
    feof()判断文件指针是否在末尾
    fgets()从文件指针中读取一行
    trim()去掉一行前后的空格
    strlen()返回字符串的长度
    str_replace
    isset
    str_replace( "\0", '', $t_self ) 将t_self中的\0替换成“”
    strpos — 查找在字符串中首次出现的位置
    $_SERVER[‘SERVER_SOFTWARE’] 服务器信息
    realpath 返回规范化的绝对路径名
    DIRECTORY_SEPARATOR 操作系统目录分隔符
    PATH_SEPARATOR 在linux系统中是一个" : "号,Windows上是一个";"号
    set_include_path 设置incldue_path
    get_include_path 获取当前include_path
    count() 返回数组长度,非数组返回1
    substr(string string ,int start [int length]) 返回从start指定位置开始的长度的字符串
    $_SERVER[‘LOCAL_ADDR’] IIS7上用来获取服务器IP地址
    $_SERVER[‘REMOTE_ADDR’] 浏览器用户的IP地址
    array_pad — 用值将数组填补到指定长度
    memory_get_usage()返回分配给PHP的内存量
    spl_autoload_register 注册__autoload()函数
    ob_get_contents() Return the contents of the output buffer
    strtolower() 将大写字母转换为小写字母
    extension_loaded('zlib')找出扩展是否被加载
    ini_get 返回php.ini中配置项的值
    ini_set 设置php.ini中配置项的值 ,ini_set("memory_limit",'256M'); 只在脚本执行期间生效,脚本执行完成该值重置
    PHP_EOL PHP行结束符
    preg_replace 执行一个正则表达式的替换
    preg_match(string pattern, string subject [, array matches [, int flags]]) — 进行正则表达式匹配
    htmlspecialchars Convert special characters to HTML entities
    ceil() 进一法取整
    floor() 舍去法取整
    round()四舍五入法
    以上就是php 最常用的内置函数大全的详细内容,更多请关注php中文网其它相关文章!
     

    本文原创发布php中文网 ,转载请注明出处,感谢您的尊重!
  • Xmind 8 pro 软件破解版

    特别说明:软件仅供技术交流,请勿用于商业及非法用途,如产生法律纠纷与本人无关

    Xmind是一款非常专业的思维导图软件,收费好几百元,不过还是很多用户,因为目前用的最多,也简单易用。XMind界面友好、功能优秀、可用性极强,从而数百万人选择了它,XMind不仅可以绘制思维导图,还能绘制鱼骨图、二维图、树形图、逻辑图、组织结构图(Org、Tree、Logic Chart、Fishbone)等。

    XMind中的思维导图结构包含一个中心根主题,和围绕中心主题辐射的众多主要分支。除了思维导图结构,XMind还提供组织结构图、树状图、逻辑图等,这些图标在各种情况下都扮演着很重要的角色。比如,组织结构图可以清楚地显示公司/部门/团队的结构,逻辑图在分类原因的时候非常有用,更重要的是,所有这些图标都可以在一个导图中使用!每一个分支,甚至每一个主题,都能拥有合适的结构。可用性非常之大。

    1、首先下载XMind 8 pro压缩包,解压缩后,双机里面的xmind-8-update7-Windows.exe开始安装,点击Next,继续安装。

    链接: https://pan.baidu.com/s/1LzCBfowvzaZaMq38tijbXA 密码: i9tr

    2、勾选“I accept the agreement”,然后Next,这一步可以选择安装路径

    3、选择安装目录,点击Next

    4、创建快捷方式,点击Next。

    5、确认信息,点击Install

    6、耐心等待安装

    7、OK,到此,安装完成,点击Finish并启动程序。

    8、在XMind主界面左上方找到“编辑”–“首选项”–“常规”,如下图所示,点击“确定”后,关闭XMind软件。

    完成以上八步,软件还未破解,破解需下载下面链接软件

    链接: https://pan.baidu.com/s/1V4DQqmzqgWo88-bse0XZ_A 密码: c29r

    下载完成后。

    1、以管理员身份运行X8U7-PJ.exe

    2、接收协议,点击下一步

    3、勾选介绍

    4、点击安装

    5、安装完成

    6、运行软件就是破解完成的了

    ———————
    作者:WANGZHEN`
    来源:CSDN
    原文:https://blog.csdn.net/qq_16093323/article/details/80967867
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 云虚拟主机安装完WordPress程序后老是跳转到虚拟主机临时域名

    问题描述

    1

    问题分析

    原因是在安装程序的时候是用的云虚拟主机的临时域名进行安装的。

    解决方案

    可以登录到WordPress后台,在设置里面将对应的临时域名设置为自己的主域名即可(自己的域名一定要是正常在阿里云备案通过或者在阿里云备案接入的)

    2

    3

    修改成功后,刷新访问,恢复正常

    4

     

  • ThinkCMF5导航栏添加选中状态

    场景描述:在开发thinkcmf模板时,有的模板没有导航栏默认选中效果,那我们如何添加选中状态呢?下面的源代码是在thinkcmf话题中找到的解决方案,亲测可用。
    //请确保能正常引用到下面的代码及jQ
    $("#main-menu a").each(function() {
        if ($(this)[0].href == String(window.location)) {
            $(this).parentsUntil("#main-menu>ul>li").addClass("active");
        }
    });
    
    
  • xl页面幻灯片特效

    插件描述:界面布局仿xl9下载页面,想将这个特效部署到自己网站,换对应图片即可。