一、怎么定义常量?




1.自定义常量



  * 必须用函数define()定义


  * 定义完后其值不能再改变了


  * 使用时直接用常量名,不能像变量一样在前面加$s




2 系统常量:



  FILE :php程序文件名


  LINE :PHP程序文件行数


  PHP_VERSION:当前解析器的版本号


  PHP_OS:执行当前PHP版本的操作系统名称


  可以直接拿来使用,例如要查看执行当前PHP版本的操作系统名称,就可以写成 echo PHP_OS 




二、预定义变量?



1、对于全部脚本而言,PHP 提供了大量的预定义变量。这些变量将所有的外部变量表示成内建环境变量,并且将错误信息表示成返回头。 



2、 超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量


    $GLOBALS — 引用全局作用域中可用的全部变量


    $_SERVER — 服务器和执行环境信息


    $_GET — HTTP GET 变量


    $_POST — HTTP POST 变量


    $_FILES — HTTP 文件上传变量


    $_REQUEST — HTTP Request 变量


    $_SESSION — Session 变量


    $_ENV — 环境变量


    $_COOKIE — HTTP Cookies


    $php_errormsg — 前一个错误信息


    $HTTP_RAW_POST_DATA — 原生POST数据


    $http_response_header — HTTP 响应头


    $argc — 传递给脚本的参数数目


    $argv — 传递给脚本的参数数组






三、怎么获取当前访问的机器名称,IP地址?



1、获取主机名:


   $_SERVER['SERVER_NAME']; 


2、获取IP:


   $_SERVER['REMOTE_ADDR']




四、怎么获取当前访问的文件的绝对路径?



1、dirname(__FILE__) 取到的是当前文件的绝对路径


2、__FILE__ ;  取得当前文件的绝对地址



五、php数组与js数组有什么不同?


a、js定义数组:



    var arr = new Array(); //定义空数组


    var arr = new Array(2); //仅指定长度,而且指定的长度没多大意义


    var arr = new Array(1,2,3); //定义数组并赋初值1,2,3


    var arr = [1,2,3]; //同上,不过比上面的速度快



*:js数组只能通过'[]'访问属性。



b、php定义数组:



    $arr = array(); //定义空数组


    $arr = array(1); //与js不同,这里是给键值0的值


    $arr = array(1,2,3); //定义数组并赋值1,2,3


    $arr = [1,2,3]; //同上,速度不知与js是否有异曲同工之妙?另高版本的php才支持这种写法



*:php能通过'[]'和'{}'访问。