邓_php_笔试!!!
函数总结:
----------------------------------------------------------------------
数组:
1.数组转换为字符串: implode(',',$arr);
字符串转换为数组: explode(',',$arr);
2.sort($aa); 只能对数组进行排序
3.count — 计算【数组】中的单元数目或对象中的属性个数
字符串
strlen — 获取字符串长度
$subject = '000a111b222';
$search = array('a', 'b');
$replace = array('ccc', 'ddd');
$output = str_replace($search, $replace, $subject);
echo $output;
$a="a'b'cd";
$b='qwe';
echo addslashes($a);
----------------------
strcasecmp 比较字符串大小
$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
echo '$var1 is equal to $var2 in a case-insensitive string comparison';
}
----------------------------------------------------------------------
正则表达式
preg_match($pattern,$arr);
======================================================
笔试题
======================================================
<?php
header('Content-type:text/html;charset=utf-8');
1.定义一个常量 'NAME' ,值为'Linux';
define('NAME','Linux');
echo NAME;
// echo constant('NAME');
2.检查字符串的长度 和 3.检查数组的元素总数 分别用两个常用函数
$arr1 = 'abcdefg';
echo strlen($arr1);
$arr2 = array('a','b','c','d');
var_dump(count($arr2));
4.用PHP打印出前一天的时间 2016-9-10 22:21:12
echo date('Y-m-d h:i:s',time()-60*60*24);
5.将'$arr = array('james','tom','symfony')'
$arr = array('james','tom','symfony');
$a= implode(',',$arr);
var_dump($a);
6.$a='abcdef';截取$a 输出$a的第三个和第四个元素'cd'
$a='abcdef';
echo substr($a,'2','2');
7.最少的代码写一个求三个数字的最大值的函数,如传入三个数字3.5.8,返回最大值是8
function mymax($a,$b,$c){
return $c>($a>$b?$a:$b)?$c:($a>$b?$a:$b);
}
echo mymax(20,50,5);
function my($a,$b,$c){
$arr=$a.','.$b.','.$c;
$str=explode(',',$arr);
sort($str);
$result=$str[count($str)-1];
var_dump($result);
}
echo my(90,8,5);
8.写出函数创建长度为10 的数组,数组中的元素为递增的奇数,首项为1 ,
// 输出结果为array(Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 [5] => 11 [6] => 13 [7] => 15 [8] => 17 [9] => 19 )
for($i=0;$i<10;$i++){
$aa[]=$i*2+1;
}
// var_dump($aa);
print_r($aa)
9.写一个函数来实现字符串大小排序。如:“154287”排序成“875421”
$arr = "154287";
$long=strlen($arr);
for($i=0;$i<6;$i++){
$str[] = $arr[$i];
}
sort($str);
$j=$long-1;
for($j;$j>=0;$j--){
$myarr[]=$str[$j];
}
$a=implode(',',$myarr);
echo $a;
10.用正则表达式写一个电子邮件aaa@xx.com
$arr="1415551519@qq.com";
$pattern="/^[a-zA-Z0-9]+@[a-z]+\.[a-z0-9]+$/";
$a=preg_match($pattern,$arr);
echo $a;
11.假设a.html和b.html在同一个文件夹下面,用javascript实现当打开a.html五秒钟后,自动跳转到b.html。
function go2b(){
window.location = “b.html”;
window.close();
}
setTimeout( “go2b()”,5000 ); //5秒钟后自动执行go2b()
12.冒泡排序法的基本思想是:对待排序记录关键字从后往前(逆序)进行多遍扫描,当发现相邻两个关键字的次序与排序要求的规则不符时,就将这两个记录进行交换。这样,关键字较小的记录将逐渐从后面向前面移动,就象气泡在水中向上浮一样,所以该算法也称为气泡排序法。
// 冒泡排序
function mysort($arr){
for($i=0;$i<count($arr);$i++){
for($j=0;$j<count($arr)-$i-1;$j++){
if($arr[$j]>$arr[$j+1]){
$tem = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $tem;
}
}
}
return $arr;
}
$arr=array(3,1,5,20,2,88,60);
var_dump(mysort($arr));
13.把 John 新增到 users 阵列?
$users[] = ‘john’; array_push($users,‘john’);
14.用PHP写出显示客户端IP与服务器IP的代码
答:打印客户端IP:echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv(‘REMOTE_ADDR’);
打印服务器IP:echo gethostbyname(“www.bolaiwu.com”)
15.如何修改SESSION的生存时间(1分).
答:方法1:将php.ini中的session.gc_maxlifetime设置为9999重启apache
方法2:$savePath = “./session_save_dir/”;
$lifeTime = 小时 * 秒;
session_save_path($savePath);
session_set_cookie_params($lifeTime);
session_start();
方法3:setcookie() and session_set_cookie_params($lifeTime);
16.有一个网页地址, 比如PHP开发资源网主页: http://www.phpres.com/index.html,如何得到它的内容?($1分)
答:方法1(对于PHP5及更高版本):
$readcontents = fopen(“http://www.phpres.com/index.html”, “rb”);
$contents = stream_get_contents($readcontents);
fclose($readcontents);
echo $contents;
方法2:
echo file_get_contents(“http://www.phpres.com/index.html”);
echo file_get_contents("http://www.360doc.com/content/17/0821/21/46637018_681070212.shtml");
17.请说明php中传值与传引用的区别。什么时候传值什么时候传引用?(2分)
答:按值传递:函数范围内对值的任何改变在函数外部都会被忽略
按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改
优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。
按引用传递则不需要复制值,对于性能提高很有好处。
18.写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php
答案1:
function getExt($url){
$arr = parse_url($url);
$file = basename($arr['path']);
$ext = explode(“.”,$file);
return $ext[1];
}
答案2:
function getExt($url) {
$url = basename($url);
$pos1 = strpos($url,”.”);
$pos2 = strpos($url,”?”);
if(strstr($url,”?”)){
return substr($url,$pos1 + 1,$pos2 – $pos1 – 1);
} else {
return substr($url,$pos1);
}
}
19.使用五种以上方式获取一个文件的扩展名
要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,
必须使用PHP自带的处理函数进行处理,方法不能明显重复,可以封装成函数,比如 get_ext1($file_name), get_ext2($file_name)
function get_ext1($file_name){
return strrchr($file_name, ‘.’);
}
function get_ext2($file_name){
return substr($file_name, strrpos($file_name, ‘.’));
}
function get_ext3($file_name){
return array_pop(explode(‘.’, $file_name));
}
function get_ext4($file_name){
$p = pathinfo($file_name);
return $p['extension'];
}
function get_ext5($file_name){
return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), ‘.’)));
}
20.
//快速排序(数组排序)
function quicksort($array) {
if (count($array) <= 1) return $array;
$key = $array[0];
$left_arr = array();
$right_arr = array();
for ($i=1; $i
if ($array[$i] <= $key)
$left_arr[] = $array[$i];
else
$right_arr[] = $array[$i];
}
$left_arr = quicksort($left_arr);
$right_arr = quicksort($right_arr);
return array_merge($left_arr, array($key), $right_arr);
}
--------------------------------------------------------------
// $a="hello";
// $b=&$a;
// unset($b);
// // $b="word";
// echo $a;
// // echo $b;
邓_php_笔试!!!的更多相关文章
- C++常见笔试面试要点以及常见问题
1. C++常见笔试面试要点: C++语言相关: (1) 虚函数(多态)的内部实现 (2) 智能指针用过哪些?shared_ptr和unique_ptr用的时候需要注意什么?shared_ptr的实现 ...
- 满堂红CIO邓劲翔:房屋中介突围
人脸识别.客户关系管理进度监控.业务流程实时监控.网站访问人数及流量实时监控等实际企业应用场景淋漓尽致.羽羽如生的以大屏幕上图表形式展现在人们面前,如果你不去继续询问,你不会知道这是一家才刚刚在房地产 ...
- 2016网易春招Java在线笔试回忆录
别看是在线笔试,但是非常严格,全称窗口不得最小化和关闭,转移,全称需要打开摄像头监控,使用草稿纸需要摄像头对准……反正2个小时,题量在那儿摆着,有作弊的功夫不如好好做做最后的编程题呢……网易不让泄漏原 ...
- BAT及各大互联网公司2014前端笔试面试题--Html,Css篇
很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习前端基础更是大有裨益. 而更多的题目是我一路以来收集的,也有往年的,答案不确保一定正 ...
- BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习js更是大有裨益. 而更多的题目是我一路以来收集的,也有往年的,答案不确保一定正确, ...
- 邓白氏码的申请-iOS公司开发者账号准备
相比较个人开发者账号的申请,公司(or企业)的账号申请要稍显复杂,很关键的一点就是邓白氏码的申请,而在网上找了好久也没有找到相对系统的方法流程.因此, 用本文记录我在公司申请邓白氏码过程,以备之后不时 ...
- 申请邓白氏编码的时候总是提示 Enter a valid Street Address 怎么办?
今天要申请一个苹果开发者公司(Company)账号,然后需要邓白氏编码,然后填写企业的基本信息.其中对于Street Address认真的对照着中文翻译为如下格式: Kang Hesheng buil ...
- iOS-申请邓白氏编码的超详细流程介绍
导读 11.22号要申请苹果公司开发者账号,所以当天下午申请了邓白氏编码,昨天邓白氏编码下来了,这里就做一下记录,分享给大家. 概览 11.22提交的邓白氏编码申请,11.28(礼拜一)华夏邓白氏发来 ...
- IT求职中,笔试、面试的算法准备
PS:此文章为转载,源地址:http://www.newsmth.net/nForum/#!article/CoderInterview/849 作者应该是在美国进行的笔试面试,感觉面试的的公 ...
随机推荐
- linux大文件分包压缩和批量解压命令tar // tar 排除指定目录
压缩命令主要用到tar打包和split分割,命令如下: tar czf - aaa | split -b 1024m - bbb.tar.gz_ aaa可以是文件也可以是目录, 大小可以是b.k.m这 ...
- 房上的猫:了解java与学习java前的准备
一.java 概述: 1.通常指完成某些事情的一种既定方式和过程 2.程序可以看做对一系列动作执行过程的描述 3.计算机按照某种顺序完成一系列指令的集合称为程序 4.计算机仅识别二进制低级语言 ...
- javascript中对象字面量与数组字面量
第一部分 我们知道JavaScript中的数据类型有基本数据类型和引用类型,其中Object类型就是非常常用的类型.那么如果创建一个Object类型的实例呢?下面我介绍两种方法: 第一:构造函数法. ...
- Fiddler的hosts配置使用
前提:使用fiddler的hosts配置,可以方便的配置自己想要测试环境,不需要每次配置hosts都到windows目录下去修改hosts文件 1.点击Tool->HOSTS,打开hosts的配 ...
- 简易排水简车的制作 TurnipBit 系列教程
准备工作 ü TurnipBit 开发板 1块 ü 下载数据线 1条 ü 微型步进电机(28BYJ-48) 1个 ü 步进电机驱动板(ULN2003APG) 1块 ü TurnipBit 扩展板 ...
- iOS 动画篇 (二) CAShapeLayer与CoreAnimation结合使用
接上一篇博客 iOS 动画篇(一) Core Animation CAShapeLayer是CALayer的一个子类,使用这个类能够很轻易实现曲线的动画. 先来一个折线动画效果: 示例代码: //1. ...
- Flask知识点一
1 flask安装 pip3 install falsk 一Werkzeug Werkzeug是什么? Werkzeug就是Python对WSGI的实现的一个通用库,它是Flask所使用的底层WSGI ...
- [转载]MySQL运行状态show status详解
要查看MySQL运行状态,要优化MySQL运行效率都少不了要运行show status查看各种状态,下面是参考官方文档及网上资料整理出来的中文详细解释,不管你是初学mysql还是你是mysql专业级的 ...
- SQL Server之LEFT JOIN、RIGHT LOIN、INNER JOIN的区别
很多人刚入门的时候分不清LEFT JOIN.RIGHT LOIN 和 INNER JOIN的区别,对它们的定义比较模糊,今天就简单的介绍一下它们的区别,对于入门的人来说,应该能够帮助你们理解. lef ...
- OC 异步顺序加载的方法
方法一:发射信号量 OC -异步顺序加载 先调用A接口,再调用B接口,再调用C接口 dispatch_semaphore_t semaphore = dispatch_semaphore_create ...