搜索
首页php教程php手册PHP基础面试题

  一、PHP中几个输入函数echo, print(), print_r(), printf(), sprintf(), var_dump()的区别。

    1.echo : 是语句不是函数,没有返回值,可输出多个变量值,不需要圆括号。不能输出数组和对象,只能打印简单类型(如int,string);

    2.print : 是语句不是函数, 有返回值1,只能输出一个变量, 不一定需要圆括号,不能输出数组和对象,只能打印简单类型(如int,string);

    3.print_r() :是函数, 可打印复合类型 (如string, int, float, array, object等)输出array时会用结构表示,而且可通过print_r($str,true)来使print_r()不输出而返回print_r处理后的值;

    4.printf() :是函数 把文字格式化后输出,参考C语言

    5.sprintf() : 是函数, 跟printf()相似,但不打印,而是返回格式化的文字(该函数把格式化的字符串写入一个变量,而不是输出出来)其他的与printf一样;

    6.var_dump() :是函数,输出变量的内容、类型或字符串的内容、类型、长度。

  二、禁用cookie的session的使用方案,设置session过期的方法、对应函数:

    1.通过url传值,把session id附加到url上(缺点:整个站点中不能有纯静态页面,因为纯静态页面session id 将无法继续传递到下一个页面);

    2.通过隐藏表单,把session id放到表单的隐藏文本框中同表单一块提交过去(缺点:不适用标签这种直接跳转的非表单的情况);

    3.直接配置php.ini文件, 将php.ini文件里的session.use.trans.sid = 0 设为 1;

    4.用文件、数据库等形式保存session ID,在跨页过程中手动调用;

    1.setCookie(session_name(),session_id(),time()+60,"/");

    2.session_set_cookie_params(60);(把session存入cookie中);

    注意:php.ini 中的session.gc_probability / session.gc_divisor

  三、PHP获取文件内容的方法,对应的函数

    1.file_get_contents()  得到文件的内容(可以以get和post方法获取),整个文件读入一个字符串中;

    2.用fopen() 打开url, 以get 方式获取内容(借助fgets()函数);

    3.用fsockopen函数 打开url (可以以get 和 post 方式获取)以get方式获取完整的数据  包括header 和 body;

    4.使用curl 库获取内容,使用curl库之前,需查看php.ini,查看是否已打开了curl扩展

  四、isset() 、empty()与is_null的区别

    1、当变量未定义时,is_null()和“参数本身”是不允许作为参数判断的,会报Notice警告错误;

    2、empty,isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null 和 “参数本身”只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!

    3、isset():仅当null和未定义,返回false;

    4、empty():""、0、"0"、NULL、FALSE、array(),未定义,均返回false;

    5、is_null():仅判断是否为null,未定义 报警告;

    6、变量本身作为参数,与empty()一致,但接受未定义变量时,报警告;

  五、strlen()与mb_strlen的作用与区别

    在PHP中,strlen与mb_strlen是求字符串长度的函数

    PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是3倍(在 UTF-8编码下,一个汉字占3个字节)。
     采用mb_strlen函数可以较好地解决这个问题。mb_strlen的用法和strlen类似,只不过它有第二个可选参数用于指定字符编码。例如得到UTF-8的字符串$str长度,可以用 mb_strlen($str,'UTF-8')。如果省略第二个参数,则会使用PHP的内部编码。内部编码可以通过 mb_internal_encoding()函数得到。    
    需要注意的是,mb_strlen并不是PHP核心函数,使用前需要确保在php.ini中加载了php_mbstring.dll,即确保“extension=php_mbstring.dll”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题。
 
  六、PHP 如何获取客户端的IP地址

    $_SERVER['REMOTE_ADDR'] ;   通过全局数组来获得 

    getenv('REMOTE_ADDR') ; 通过环境变量来获得

    当客户机使用代理的时候获取不到真实的IP地址

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具