php常用技巧,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

$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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值