1,写一个函数,从一个标准URL里取出文件的扩展名
// 方法一:
function getExt($url){ // 定义一个获取扩展名的函数getExt()
$arr = parse_url($url); // parse_url():解析 URL,返回其组成部分
$file = basename($arr['path']); // basename():返回路径中的文件名部分
$ext = explode('.', $file); // explode():把字符串打散为数组
var_dump($ext[1]); // 输出结果
}
$url = "http://www.imooc.com/article/test.php?id=521"; // 设置$url具体内容
getExt($url); // 调用函数并传入参数
// 得到输出结果:string 'php' (length=8)
2,写一个函数,能够遍历一个文件夹下的所有文件夹和子文件夹
function my_scandir($dir){ // 定义一个函数名
$files=array(); // 定义$files 为一个空数组
if(is_dir($dir)){ // 如果传进来的$dir参数为一个目录
if($handle=opendir($dir)){ // 打开目录,返回目录流并赋值给$handle
// 1)返回目录流中的一个条目,成功:返回文件名,否则返回false
// 2)将条目赋值给$file,并判断是否为false
while(($file=readdir($handle))!==false){ // 循环目录流中的每一个条目
if($file!='.' && $file!=".."){ // 排除当层文件目录和父层文件目录
if(is_dir($dir."/".$file)){ // 判断如果$dir(传入的目录参数).'/'(拼接).$file(while循环判断中返回文件名的文件) 为一个目录
$files[$file]=my_scandir($dir."/".$file); // 调用自身函数进行再次循环判断
}else{ // 如果不是一个目录,那就是一个独立的文件了
$files[]=$dir."/".$file; // 将文件名拼接上全路径文件夹,并复制到$files数组中
}
}
}
}
}
closedir($handle); // 关闭由 opendir() 函数打开的目录句柄
return $files; // 返回$files
}
var_dump(my_scandir('D:\wamp\www\PHP-V\Point\Ajax')); // 调用函数,传入文件夹路径参数,并打印
3:转换数组 -- 实现一个函数将索引数组转换为关联数组
输入:array('name','php','birth',1995,'age',30)
输出:array('name'=>'php','birth'=>1995,'age'=>30)
$arr = array('name','php','birth',1995,'age',30);
foreach ($arr as $key => $value) { // 对索引数组进行遍历循环
if ($key%2 == 0) { // 判断$key除以2余数是否为0
$k[] = $value; // 将下标为偶数元素存放在$k数组中
}else{
$v[] = $value; // 将下标为奇数元素存放在$v数组中
}
}
// 当中最好判断一下$k的元素数量与$v中的元素数量是否相等
for ($i=0; $i <count($k); $i++) { // for循环,$i长度取决与数组$k的元素数量
$new[$k[$i]] = $v[$i]; // 定义一个关联数组$new,将$k,$v分别遍历导入
}
var_dump($new);
// 输出结果为:array (size=3)
// 'name' => string 'php' (length=3)
// 'birth' => int 1995
// 'age' => int 30
点击查看更多内容
26人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦