PHP重点难点算法与面试

4 篇文章 0 订阅

1、写一个函数对二维数组的排序(PHP)

<?php 

/**
* 根据某列对二维数组进行排序
* @param  [type] $arr  [要排序的数组]
* @param  [type] $row  [排序依据列]
* @param  string $type [asc表示正序,默认值,desc表示逆序]
* @return [type]       返回排序好的数组
*/
function array_sort($arr, $row, $type = 'asc'){
$arr_temp = array();
foreach ($arr as $v) {
$arr_temp[$v[$row]] = $v;
}


if($type  == 'asc'){
ksort($arr_temp); 
//ksort()、函数对关联数组按照键名进行升序排序
}elseif($type == 'desc'){
krsort($arr_temp); 
//krsort()、函数将数组按照键逆向排序标志,为数组值保留原来的键
}else{


}

return $arr_temp;
}

$person = array(
array('id' => 2,'name' => 'zhangsan', 'age' => 23),
array('id' => 5,'name' => 'lisi', 'age' => 28),
array('id' => 3,'name' => 'apple', 'age' => 17)
);


$person = array_sort($person,'name');
print_r($person);


2、写5个不同的自己的函数,来获取一个全路径的文件的扩展名,允许封装php库中已有的函数

<?php 

$path = str_replace('\\', '/', _FILE_);
//$path 定义根目录地址
//方法一
function ext_name1($path)(
return strrchr($path,'.');
)

//方法二
function ext_name2($path){
return substr($path, strrops($path,'.'));
}

//方法三
function ext_name3($path){
$path_parts = pathinfo($path);
return $path_parts['extension'];
}

//方法四
function ext_name4($path){
$arr = explode('.', $path);
}

//方法五
function ext_name5($path)
{
$pattern = '/^[^\.]+\.([\w]+)$/';
return preg_replace($pattern, '${1}', basename($path));
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值