PHP面试(一)
来源:互联网 发布:java的scanner怎么用 编辑:程序博客网 时间:2024/05/16 02:05
笔试部分
1、比较简单 B
2、这个需要注意下,count统计的是数组中的元素个数,其他情况返回1,故选A。
3、Session是可以使用的,可以通过url传递sessionID,但是这是不安全的做法,而且还需要在php.ini中开启
// 允许SessionID通过URL明文传输//在这种情况下虽然已经允许了SessionID通过URL明文传输,担是同时又开启//了仅使用cookies存放会话SessionID,所以在URL中明文传输的//PHPSESSIONID参数值是无效的,SESSION不能用。session.use_trans_sid = 1; session.use_only_cookies = 1; // 开启仅使用cookies存放会话id
故选A。
4、函数没有返回值。故选B
5、类似上一题,因为a函数没有返回,作用域为局部的,故选B。
6、单引号与双引号的区别。
单引号性能高 双引号能解析变量 单引号不支持转义符号\
故选AC
7、
选择 AB
const不能再条件语句中定义常量,但是define是可以的,如下:
<?php if(1){ const a = 'java'; } echo a; //必错 ?>
const采用一个普通的常量名称,define可以采用表达式作为名称
const本身就是一个语言结构。而define是一个函数。所以使用const速度要快的多。
8、require和include的区别
require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。
9、++i是在i上直接加1,表达式的值是i本身 i++也是在i上加1,表达式的值是加1前的副本,因为要存副本,所以效率略低。故选A。
10、301,302,303,307都表示跳转,故选ABC
301 永久性重定向302 临时性重定向303 该状态码表示由于请求对应的资源存在另一个URI,应使用GET方法定向获取请求的资源。303与302的不同之处在于,302不会改变请求的方法,如果请求方法是POST的话,重定向的请求也应该是POST。而对于303,使用POST请求的话,重定向的请求应该是GET请求。307 临时重定向。该状态码与302和303有着类似的含义,不同之处在于,307状态码并不会指定客户端要用什么样的方法请求重定向地址。(302指定使用原有请求方法,303指定使用GET方法)
11、AB print_r不能看到字符串、整形等类型。
12、BD 原因见下
$a = (bool)'0';$b = (bool)-1;$c = (bool)array();$d = (bool)2;var_dump($a,$b,$c,$d);//结果如下F:\wamp\www\test1.php:1342:boolean falseF:\wamp\www\test1.php:1342:boolean trueF:\wamp\www\test1.php:1342:boolean falseF:\wamp\www\test1.php:1342:boolean true
13、CD 不确定
14、B 不解释
15、A 不解释
16、C
17、A
18、AE
19、BC
20、D 不确定
算法
1、
$str = 'MakeById';$arr = str_split($str);foreach($arr as $key =>&$val) { if (ord($val) < 97) { $val = ($key? '_':'').strtolower($val); }}echo implode($arr);//反过去$str = 'make_by_id';$arr = explode('_', $str);$arr1 = array_map('ucfirst', $arr);echo implode($arr1);
2、
$arr = ['a','b','c','a','d','z','y','b','b'];$arr1 = array_count_values($arr);arsort($arr1);echo key($arr1);
3、
$str = 'dianfubao@che001.com';echo strstr($str,'@',true);
4、从首位两头开始交换
$arr =[1,2,3,4,5,6,7];$big = count($arr) - 1;$small = 0;while($small <= $big) { if (!isEven($arr[$small])) $small++; if (isEven($arr[$big])) $big--; if (isEven($arr[$small]) && !isEven($arr[$big])) { $tmp = $arr[$small]; $arr[$small] = $arr[$big]; $arr[$big] = $tmp; }}function isEven($n) { if ($n % 2 == 0) return true; else return false;}var_dump($arr);
0 0
- PHP面试(一)
- php面试部分(一)
- PHP 之面试资料(一)
- php面试常用题目精解(一)
- php面试(三)
- PHP面试(二)
- PHP面试(二)
- php 面试 (-)
- php面试(简答)
- php面试(代码)
- 面试(一)
- 华为面试(一)
- 面试整理(一)
- 阿里面试(一)
- 面试小结(一)
- 面试智力题(一)
- JAVA面试(一)
- 面试(一)
- Material Design一些效果实现
- android Studio 开发安卓应用设置版本号
- php处理emoji表情方法集合
- ext 6.0开发三(设置主视图)
- Spring IOC源码详解之容器初始化
- PHP面试(一)
- Windows系统下的TCP参数优化(注册表\TCPIP\Parameters)
- Eclipse安装后jdk和tomacat与以前项目不匹配解决办法
- Mysql事务详解(二)事务的隔离性和容易引起的问题
- 整理了一些windows上的路径操作函数
- 网站数据统计分析之二:前端日志采集是与非
- Linux常用命令:cp 命令
- 人熟是个宝
- 数据结构—二叉链顺序存储结构