互联网常识:PHP面试题之问答题最新汇总

导读 跟大家讲解下有关PHP面试题之问答题最新汇总,相信小伙伴们对这个话题应该也很关注吧,现在就为小伙伴们说说PHP面试题之问答题最新汇总

跟大家讲解下有关PHP面试题之问答题最新汇总,相信小伙伴们对这个话题应该也很关注吧,现在就为小伙伴们说说PHP面试题之问答题最新汇总,小编也收集到了有关PHP面试题之问答题最新汇总的相关资料,希望大家看到了会喜欢。

本篇文章给大家分享PHP面试题之问答题最新汇总有一定的参考价值需要的朋友可以参考一下希望对大家有所帮助。

相关推荐:《PHP面试题之应用题最新汇总》《PHP面试题之概念题最新汇总》

1. echo、print、print_r 的区别

echo、print 是 PHP 语句;print_r 是函数,

print只能打印出简单类型变量的值(如int,string)有返回值。print_r可以打印出复杂类型变量的值(如数组,对象)echo 输出一个或者多个字符串无返回值2. 字符串中单引号与双引号的区别单引号不能解释变量而双引号可以解释变量。单引号不能转义字符在双引号中可以转义字符。3. error_reporting 作用

error_reporting 设置 PHP 的报错级别并返回当前级别。

4. SESSION 与 COOKIE 的区别

session 存储在服务器端cookie 保存在客户端。

session比较安全cookie 用某些手段可以修改不安全。

session 的运行依赖 sesseion id而 session id 存在 cookie 中。如果禁用 cookiesession 会失效。(但可以通过其他方式实现比如在 url 中传递 session id)。

session 可以放在 文件、数据库或内存中。默认存储在服务器的一个文件中。

5. get 和 post 的区别

get是显式的数据从url中可以看到传输的数据量小安全性低;

post是隐式的传送的数据量较大安全性较高 。

6. 写出下面代码的执行结果
<?php
    $a = 12;
    $b = 012;
    $c = 0x12;
    echo $a,"\n",$b,"\n",$c;

解析:八进制12转为二进制001010二进制再转为十进制为10。十六进制12转为二进制00010010二进制再转为十进制18。所以结果为 12 10 18。

7. 解决 url 出现中文乱码

使用 urlencode 对中文进行编码。

8. 把 GB2312 格式的字符串转换成 UTF-8
iconv('GB2312','UTF-8','悄悄是别离的笙箫');
9. 字符串转化为数组
$str = "hello word;From-ajiang";str_split($str, 3);
explode(";", $str);preg_split("/-/", $str);
10. 字符串替换函数
$str = 'linux and php';
str_replace('linux', 'windows', $str);
preg_replace('/linux|php/', 'js', $str);
11. 字符串查找函数
preg_match("/php/i", "PHP is the web scripting language of choice.");
$userinfo = "Name: <b>PHP</b> <br> Title: <b>Programming Language</b>";
preg_match_all ("/<b>(.*)<\/b>/U", $userinfo, $pat_array);
strpos("I love php, I love php too!","php");   // 首次匹配的位置
strrpos("I love php, I love php too!","php");  // 最后匹配的位置
12. 使用 redis 有哪些好处

速度快:因为数据存在内存中类似于HashMapHashMap的优势就是查找和操作的时间复杂度都是O(1)。

支持丰富数据类型:支持stringlistsetsorted sethash。

支持事务:可以一次执行多个命令。失败不会回滚会继续执行。

丰富的特性:可用于缓存消息按key设置过期时间过期后将会自动删除

13. redis 相比 memcached 有哪些优势

memcached所有的值均是简单的字符串redis作为其替代者支持更为丰富的数据类型。

redis 的速度比 memcached 快很多 。

redis 可以持久化其数据

14. 在命令行下运行PHP脚本同时传递参数

首先进入php安装目录-f 参数指定要执行的 php 文件参数直接接在文件名后面多个参数用空格隔开。-r 表示直接执行 php 代码 。

如果传递参数脚本首先会检查 $argc以确保自变量的数量符合要求。然后会从 $argv 里提取出每一个自变量把它们打印输出到标准的输出。

$ php -f d:/wamp/test.php [参数1 参数2 ...] $ php -r phpinfo;
15. crontab 定时任务语法

分 时 日 月 周 执行的程序

案例: 一个备份程序mybackup需要在周一到周五下午1点和晚上8点运行命令如下:

 0 13,20 * * 1,2,3,4,5 mybackup // 或 0 13,20 * * 1-5 mybackup
16. 键入网址再按下回车

浏览器从地址栏的输入中获得服务器的 IP 地址和端口号;

浏览器用 TCP 的三次握手与服务器建立连接;

浏览器向服务器发送拼好的报文;

服务器收到报文后处理请求同样拼好报文再发给浏览器;

浏览器解析报文渲染输出页面。

17. php 数组相关的函数
array_combine-----通过合并两个数组来创建一个新数组
array_chunk-------将一个数组分割成多个
array_merge-------把两个或多个数组合并成一个数组
array_slice-------在数组中根据条件取出一段值
array_diff--------返回两个数组的差集数组
array_intersect---计算数组的交集
array_search------在数组中搜索给定的值
array_splice------移除数组的一部分且替代它
array_key_exists--判断某个数组中是否存在指定的key
array_flip--------交换数组中的键和值
array_reverse-----将原数组中的元素顺序翻转创建新的数组并返回
array_unique------移除数组中重复的值
range-------------创建并返回一个包含指定范围的元素的数组
18. PHP 数组排序
sort   - 以升序对数组排序
rsort  - 以降序对数组排序
asort  - 根据值以升序对关联数组进行排序
ksort  - 根据键以升序对关联数组进行排序
arsort - 根据值以降序对关联数组进行排序
krsort - 根据键以降序对关联数组进行排序
19. $_SERVER
// http://www.test.com/testA/test?name=aj&age=23
"HTTP_HOST" => "www.test.com"
"SERVER_NAME" => "www.test.com"
"SERVER_PORT" => "80"               // 服务器端口
"SERVER_ADDR" => "127.0.0.1"        // 服务器IP
"REMOTE_PORT" => "13675"            // 客户端IP
"REMOTE_ADDR" => "127.0.0.1"        // 客户端口
"REQUEST_URI" => "/testA/test?name=aj&age=23"          // 参数
"SCRIPT_NAME" => "/index.php"
"QUERY_STRING" => "s=//testA/test&name=aj&age=23"
"SCRIPT_FILENAME" => "F:/projectName/public/index.php" // 当前执行脚本路径
20. 魔术方法
__construct类的构造函数
__destruct类的析构函数

__call在对象中调用一个不可访问方法时调用
__callStatic用静态方式中调用一个不可访问方法时调用

__get获得一个不存在的类成员变量时调用
__set设置一个不存在的类成员变量时调用

__isset当对不可访问属性调用isset或empty时调用
__unset当对不可访问属性调用unset时被调用。

__sleep执行serialize时先会调用这个函数
__wakeup执行unserialize时先会调用这个函数
__toString类被当成字符串时的回应方法

__invoke调用函数的方式调用一个对象时的回应方法
__set_state调用var_export导出类时此静态方法会被调用。

__clone当对象复制完成时调用
__autoload尝试加载未定义的类
__debugInfo打印所需调试信息
21. PHP 的基本变量类型四种标量类型:boolean (布尔型)、integer (整型)、float (浮点型, 也称作 double)、string (字符串)两种复合类型:array (数组)、object (对象)两种特殊类型:resource(资源)、NULL(NULL)

本文章首发在 LearnKu.com 网站上。

以上就是PHP面试题之问答题最新汇总的详细内容!

来源:php中文网

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢

最新文章