php框架面试题目(PHP面试题:PHP数组函数常见的有哪些)

本文目录
PHP面试题:PHP数组函数常见的有哪些
array_splice() 删除数组中的指定元
array_splice(数组名,从前往后删的个数,new一个数组的大小);没有第三参数也就没有返数组,没有第三个参数时,第二个参数的意义为从前往后保留几个
exp:
《?php $my_array=array( //建立数组 "hehe"=》"haha", "A"=》"lu", "lu"=》"ge" ); $new=array_splice($my_array,1,3); //使用array_splice(数组名,从前往后删的个数,new一个数组的大小); var_dump($new); ?》
结果:array(2) { =》 string(2) "ge" }
2、foreach()数组的遍历
用法:foreach(数组 as 键名=》键值)或foreach(数组 as 键值)
exp:
《?php $my_array=array( //建立数组 "hehe"=》"haha", "A"=》"lu", "lu"=》"ge" ); foreach($my_array as $key=》$value) { echo $key."=》".$value."《br/》"; } ?》
输出结果:
hehe=》haha A=》lu lu=》ge
3、数组的排序
(1)sort()和rsort() 按键值排序sort()从小到大,rsort()从大到小
sort () exp :
《?php $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组 sort($my_array); foreach($my_array as $keys=》$value) { echo $keys."=》".$value."《br/》"; } ?》
输出结果:
0=》1 1=》2 2=》3 3=》4 4=》5 5=》6 6=》7 7=》8 8=》9
rsort() exp:
《?php $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组 rsort($my_array); foreach($my_array as $keys=》$value) { echo $keys."=》".$value."《br/》"; } ?》
输出结果:
0=》9 1=》8 2=》7 3=》6 4=》5 5=》4 6=》3 7=》2 8=》1
(2).asort()和arsort()和上面的原理一样,不过不改变键名和键值的对应关系
exp:
《?php $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组 asort($my_array); foreach($my_array as $keys=》$value) { echo $keys."=》".$value."《br/》"; } ?》
输出结果:
0=》1 1=》2 2=》3 7=》4 8=》5 3=》6 4=》7 5=》8 6=》9
(3)ksort()和krsort()是按键名的大小排序
4.数组的数学类函数
array_sum()计算数组的所有键值的和 count()计算元素的个数
exp:
《?php $my_array=array(1,2,3,6,7,8,9,4,5);//建立数组 echo array_sum($my_array); ?》
输出结果:45
5.其他函数
array_unique() 去除数组中的相同元素
in_array()检测一个值是否在数组中(返回true和false)
array_search()返回的是键或值,返回的是键值所对应的键名
shuffle()打乱原有的数组
《?php $my_array=array(1,2,3,6,7,8,9,4,5,5,5,5);//建立数组 array_unique($my_array);//去除数组中的相同元素 var_dump($my_array); echo "《br/》"; echo in_array(5,$my_array); echo "《br/》"; $new=array_search(6,$my_array);//返回的是键值所对应的键名 echo $new; ?》
输出结果:
array(12) { =》 int(5) } 1 3
PHP面试题之文件目录操作
这道题其实并不难,考点主要在函数substr()
strrchr()
array_pop()
strrpos()
strpos()
strrev()
explode()
pathinfo()。
废话不多说了,直接给大家贴代码了。
获取文件后缀,遍历目录层次
/**
*
5种方式获取文件后缀名
*
这道题其实就是考函数substr()
strrchr()
array_pop()
strrpos()
strpos()
strrev()
explode()
pathinfo()
*
@param
string
$filename
要处理的文件名
1.jpg/1.png/1.html/1.php
*
@return
string
.php/php
*/
function
get_ext1($filename)
{
return
strrchr($filename,’.’);
}
function
get_ext2($filename){
return
substr($filename,strrpos($filename,’.’));
}
function
get_ext3($filename){
return
array_pop(explode(’.’,$filename));
}
function
get_ext4($filename){
return
pathinfo($filename,PATHINFO_EXTENSION);
}
function
get_ext5($filename){
return
strrev(substr(strrev($filename),0,strpos(strrev($filename),’.’)));
}
$filename
=
"1.php";
echo
get_ext1($filename)."\n";
echo
get_ext2($filename)."\n";
echo
get_ext3($filename)."\n";
echo
get_ext4($filename)."\n";
echo
get_ext5($filename)."\n";
/**
*
遍历目录(递归)
*
@param
string
$dir
目录名且最后没有/
*
@return
array
$files
整个目录结构
*/
function
myScandir($dir)
{
$files
=
array();
if($handle
=
opendir($dir)){
while
(($file
=
readdir($handle))
!=
false){
if($file
!=
"."
&&
$file
!=
".."){
$newDir
=
$dir."/".$file;
if(is_dir($newDir)){
$files
=
myScandir($newDir);
}else{
$files
=
$file;
}
}
}
closedir($handle);
return
$files;
}
}
$dir
=
"/dirname";
print_r(myScandir($dir));
以上代码是不是很简单啊,就这几个函数,函数掌握了,这道题就很容易的解决了,希望本文分享对大家有所帮助。

更多文章:
teammate(teammate,company,partner)
2026年10月11日 06:10
javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)
2026年10月11日 04:00
text函数公式(excel中round和text函数的区别是什么)
2026年10月11日 03:50
google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)
2026年10月11日 02:00
websocket整合springboot(Springboot整合Websocket遇到的坑)
2026年10月11日 01:40
drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)
2026年10月10日 19:20
xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)
2026年10月10日 17:50
perl数组中最多的元素(用perl实现,得到一个数组中重复次数最多的元素)
2026年10月10日 17:00




