찾다
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 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구