题目:1 使用五种以上方式获取一个文件的扩展名
要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,
必须使用PHP自带的处理函数进行处理,方法不能明显重复,可以封装成函数,比如 get_ext1($file_name),
答:
方法1:
1 $str = 'dir/upload.image.jpg'; 2 function get_ext1($str ){ 3 return end(explode('.',$str)); //把目标字符串按照'.'做分隔符,分割成数组,输出最后一个数组
4 }
方法2:
1 function get_ext2($str){ 2 return strrchr($str,'.'); //最后一次出现点号的位置
3 }
方法3:
1 function get_ext3($file) 2 { 3 return substr($file, strrpos($file, '.'));//反着找到第一个.的位置,然后输出该位置之后的字符串.
4 }
方法4:
1 function get_ext4($file) 2 { 3 return pathinfo($file, PATHINFO_EXTENSION);//用系统函数pathinfo 直接调用参数扩展名,据说是最好的方法
4 }
方法5:
1 function get_ext5($file_name) 2 { 3 return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.'))); 4 }
题目:2 strlen( )与mb_strlen( )的作用分别是什么?
答:
1. strlen(string ) 计算字符串 的 字节数(byte).
GBK中 一个中文字符,2字节(byte),
UTF-8中 一个中文字符,3字节(byte),
2. mb_strlen(string, 字符集) 计算的是字符个数。
3. 验证
1 <?php 2 /*
3 strlen()与mb_strlen的作用分别是什么 4 */
5 $abc="金零壹a"; 6 echo 'UTF-8下 字符串 “金零壹a” 的strlen值是:',strlen($abc),'<br>';//输出10
7 echo 'UTF-8下 字符串 “金零壹a” 的mb_strlen值是:',mb_strlen($abc,'utf8');//输出4
8
9 ?>
题目:3 字符串和数组怎么取长度?
答:
1 字符串:strlen(); // 计算字符串的字节长度,
2 mb_strlen //计算字符长度
3 例:mb_strlen('hello 中国','utf-8'); //8
4 count() -- 计算数组中的元素个数。
题目:4 “===”是什么?试举一个“==”是真但“===”是假的例子。
1 echo 'false==0',false==0?'等于':'不等于' ,'<br>'; // 等于
2 echo 'false===0',false===0?"等于":'不等于' ,'<br>'; //不等于
3 echo 'false===false',false===false?"等于":'不等于' ,'<br>'; //等于
4
5
6 $str = 'abcdef'; 7 echo 'abcdef 中 z',stripos($str,'z')!==false?'有':'没有','<br>';//没有 8 echo 'abcdef 中 e',stripos($str,'e')!==false?'有':'没有','<br>';//有 9 echo 'abcdef 中 a',stripos($str,'a')!==false?'有':'没有','<br>';//有 10
11
12 echo 'abcdef 中 z',stripos($str,'z')!=false?'有':'没有','<br>';//没有 13 echo 'abcdef 中 e',stripos($str,'e')!=false?'有':'没有','<br>';//有 14 echo 'abcdef 中 a',stripos($str,'a')!=false?'有':'没有','<br>';//没有
题目:5 $a = 'abcdef'; 请取出$a的值并打印出第一个字母
1 echo $a{0}; //或者
2 echo substr($a,0,1);
题目:6 2,求当前日期之后的第一个星期日的日期;
$c = (7 - date('w'))*3600*24; echo date('Y-m-d',(time() + $c));