PHP基础知识总结,数组知识点等

1、写出下列几个预定义全局变量的作用 $_SERVER[‘DOCUMENT_ROOT’] //当前运行脚本所在的文档根目录 $_SERVER[‘HTTP_HOST’]  //当前请求的HOST头部的内容 $_SERVER[‘REMOTE_ADDR’] //正在浏览当前页面的用户IP地址 $_SERVER[‘HTTP_REFERER’] //链接到当前页面的前一页面的URL地址 $_SERVER[‘SERVER_NAME’] //当前运行脚本所在服务器主机的名称 
2、写出上传功能中服务器端可以获取到上传数据的什么信息 $_FIELS //包含所有上传的文件信息 $_FILES[‘userfile’][‘name’]  //客户端机器文件的原名称 $_FILES[‘userfile’][‘type’] //文件MIME类型 $_FILES[‘userfile’][‘size’] //上传文件的大小 $_FILES[‘userfile’][‘tmp_name’] //文件被上传后的临时文件名 $_FILES[‘userfile’][‘error’]  //上传相关的错误代码 
3includerequire都能把另外一个文件包含到当前文件中,他们有什么区 别? 区别: include是包含,如果被包含的文件不存在的话,会提示一个错误,程序会继续往下运行 require是需要,如果被包含的文件不存在的话,会提示错误,并且程序终止 
4、简述POST和GET传输的最大容量分别是多少? POST根据php.ini配置文件中的默认值为8M,但可以进行修改 GET大小限制在2KB左右 
5echo()、print()、print_r()的区别 echo是一个语句结构,输出一个或多个字符串 print()它也是一个语言结构,因此可以不使用括号来传递它的参数,输出一个字符串 print_r()是一个函数,打印变量的信息,基本类型 
6、求两个日期的差数,例如2009-3-1~2009-4-4 (strtotime(“2009-4-4”)-strtotime(“2009-3-1”))/3600*24 
7、请说明PHP中传值和传引用的区别 变量默认总是传值赋值,改变传递后的值不会影响传递前的值 PHP也提供了另外一种方式给变量赋值,也就是引用赋值,传递的是数据在内存空间的指针,修改 传递后的值会影响到传递前的数据,因为他们共享一份数据来源,并且在传递的时候通过&来表明是 传递的引用 黑马程序员


 8、用PHP写出客户端IP和服务器端IP的代码 客户端IP:$_SERVER[‘REMOTE_ADDR’] 服务器IP:$_SERVER[‘SERVER_ADDR’] 
9、简述如何得到当前执行脚本的路径,包括所得到参数 获取当前执行脚本路径:$_SERVER[‘SCRIPT_FILENAME’] 或者 __FILE__ 获取参数通过:$_SERVER[‘QUERY_STRING’] 
10、sort()、asort()、ksort()有什么分别? sort(),根据数组中元素的值,以英文字母顺序排序,索引键会由 0 到 n-1 重新编号。 主要是当数组 索引键的值无关紧要时用来把数组排序。 asort(),对数组进行排序,数组的索引保持和单元的关联 。主要用于对那些单元顺序很 重要的结合 数组进行排序。 ksort(),根据数组中索引键的值,以英文字母顺序排序 ,特别适合用于希望把索引键排 序的关联数 组。  
11、在 PHP 中 error_reporting 这个函数有什么作用?  打开或者关闭错误报告 ,如: error_reporting(0); error_reporting(E_ALL & ~ E_NOTICE);  error_reporting(E_ALL);  

12、常量如何定义? 如何检测一个常量是否被定义?  定义常量:define() ,  检测常量是否定义:defined() 

13、 简述 GBK、GB2312、BIG5 、GB18030 

GB2312 支持的汉字较少,GBK 是相比 GB2312 汉字更为丰富,包括全部中日韩汉字,  GB18030 相比 GBK 增加了一些少数名族汉字汉字库更为多样 ,但是常人很难用到,一般简 体中文 使用 GBK 而繁体中文使用 BIG5。  


14、PHP 中的注释的写法,要列出三种?  // 注释内容 C 风格的单行注释 # 注释内容 unix 风格的单行注释 /* 注释内容 */ C 风格的多行注释  黑马程序员


 15、说说 breakcontinue 可以用在哪些语句里,并且列出二者的区别? 

breakcontinue 可以用在 switch 语句中,或是循环结构中  它们的区别主要是体现在循环语句中, break 表示 跳出整个循环,不再执行,循环将 终止,而 continue 则表示跳出本次循环,继续下一次的循环,不会终止循环。  
16、说出数组涉及到的常用函数。 

array -- 声明一个数组 count -- 计算数组中的单元数目或对象中的属性个数 foreach -- 遍历数组 list -- 遍历数组 explode -- 将字符串转成数组 implode -- 将数组转成一个新字符串 array_merge -- 合并一个或多个数组 is_array -- 检查是否是数组 print_r -- 输出数组 sort-- 数组排序 array_keys -- 返回数组中所有的键名 array_values -- 返回数组中所有的值 key -- 从关联数组中取得键名  
17、字符串的常用函数? 

trim() -- 去除字符串首尾处的空白字符(或者其他字符) strlen() -- 字符串长度 substr() -- 截取字符串 str_replace() -- 替换字符串函数 substr_replace() -- 对指定字符串中的部分字符串进行替换 strstr() -- 检索字符串函数 explode() -- 分割字符串函数 implode() -- 将数组合并成字符串 str_repeat() -- 重复一个字符串 addslashes(); -- 转义字符串 htmlspecialchars() -- THML 实体转义  

18、请列举出你所知道的全局环境变量  $_ENV; $_SERVER; $_REQUEST; $_FILES; $_SESSION; $_COOKIE; $_GET; $_POST; $GLOBALS;  19、写出 php 的 publicprotectedprivate 三种访问控制模式的区别 public:公有,任何地方都可以访问  protected:继承,只能在本类或子类中访问,在其它地方不允许访问  private:私有,只能在本类中访问,在其他地方不允许访问  

 黑马程序员




20、PHP5 中魔术方法函数有哪几个,请举例说明各自的用法  __sleep serialize 之前被调用 __wakeup unserialize 时被调用 __toString 打印一个对象时被调用  __set_state 调用 var_export 时被调用,用__set_state 的返回值作为 var_export 的返回值 __construct 构造函数,实例化对象时被调用 __destruct 析构函数,当对象销毁时被调用 __call 对象调用某个方法,若存在该方法,则直接调用,若不存在,则调用__call 函数  __get 读取一个对象属性时,若属性存在,则直接返回,若不存在,则调用 __get 函数  __set 设置一个对象的属性时,若属性存在,则直接赋值,若不存在,则调用__set 函数  __isset 检测一个对象的属性是否存在时被调用  __unset unset 一个对象的属性时被调用 __clone 克隆对象时被调用 __autoload 实例化一个对象时,如果对应的类不存在,则该方法被调用

你可能感兴趣的:(个人日常分享,知识点总结)