PHP重点难点算法与面试
2017-02-20 10:40
260 查看
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));
}
<?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));
}
相关文章推荐
- php面试常用算法
- PHP面试时会考到的算法题之排序
- PHP算法面试题目
- PHP面试重点整理(一)
- PHP面试算法
- PHP面试时经常出现的小算法题
- PHP面试常见算法、函数总结
- PHP面试常用算法(推荐)
- PHP面试——基本算法
- php面试算法题—快速算法、冒泡算法讲解
- 冒泡排序法 PHP JAVA 版本(面试必备算法)
- PHP面试时经常出现的小算法题
- PHP面试常用算法
- PHP面试的一个简单算法题
- PHP面试时会考到的算法题之排序
- 笔试、面试重点总结:算法基础、数据结构
- PHP面试中常见的面试试题与算法例子
- 知名互联网公司校招 Java 开发岗面试知识点 本场 Chat 从作者的实际面试经历出发,给大家详细阐述 Java 开发岗位在校招面试中所涉及的知识点,包括重点和难点。主要包括以下几个部分: Ja
- PHP面试常用算法(推荐)
- PHP面试常用算法