手记

PHP常用基础技巧(归档整理--持续更新中)

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人推荐
随时随地看视频
慕课网APP

热门评论

var_dump($ext[1]);
这应该是 var_dump($ext[0]); 吧

查看全部评论