本文主要和大家分享php常见算法或函数详解,主要以代码的方式和大家分享,希望能帮助到大家。
$arr[$j]) {
$tmp = $arr[$j];
$arr[$j] = $arr[$j - 1];
$arr[$j - 1] = $tmp;
}
}
}
}
//快速排序
function quickSort($arr)
{
$len = count($arr);
if ($len <= 1) {
return $arr;
}
$base = $arr[0];
$left_array = array();
$right_array = array();
for ($i = 1; $i < $len; $i++) {
if ($arr[$i] > $base) {
$left_array[] = $arr[$i];
} else {
$right_array[] = $arr[$i];
}
}
$left_array = quickSort($left_array);
$right_array = quickSort($right_array);
return $left_array;
}
//二维数组排序
function array_sort($arr, $keys, $order = 'ASC')
{
if (!is_array($arr)) {
return false;
}
$keysvalue = array();
foreach ($arr as $k => $v) {
$keysvalue[$k] = $v[$keys];
}
if ($order == 'ASC') {
asort($keysvalue);
} else {
arsort($keysvalue);
}
reset($keysvalue);
foreach ($keysvalue as $k => $v) {
$keysort[$k] = $k;
}
foreach ($keysort as $k => $v) {
$new_arr[] = $arr[$v];
}
return $new_arr;
}
//使用自带函数二维数组排序
function array_sort2(&$arr, $keys, $order = SORT_ASC)
{
array_multisort(array_column($arr, $keys), $order, $arr);
}
//二分查找
function bin_sch($arr, $low, $top, $target)
{
sort($arr);
while ($low <= $top) {
$mid = floor(($low + $top)/2);
if ($arr[$mid] == $target) {
return $arr[$mid];
} elseif ($arr[$mid] < $target) {
$low = $mid + 1;
bin_sch($arr, $low, $top, $target);
} else {
$top = $mid - 1;
bin_sch($arr, $low, $top, $target);
}
}
return -1;
}
//遍历文件夹
function my_scandir($dir)
{
$files = array();
if ($handle = opendir($dir)) {
while (($filename = readdir($handle)) !== false) {
if ($filename != '.' && $filename != '..') {
if (is_dir($dir."/".$filename)) {
$files[$filename] = my_scandir($dir."/".$filename);
} else {
$files[] = $filename;
}
}
}
closedir($handle);
return $files;
}
}
//get_user_id改为getUserId
function change($str)
{
$str = ucwords($str, '_');
return str_replace('_', '', $str);
}
//反转每个单词
function convert($input) {
$arr = explode(" ", $input);
array_walk($arr, function (&$value) {
$value = strrev($value);
});
$output = implode(" ", $arr);
echo $output;
}相关推荐:
PHP网络编程技术详解由浅入深,全面、系统地介绍了PHP开发技术,并提供了大量实例,供读者实战演练。另外,笔者专门为本书录制了相应的配套教学视频,以帮助读者更好地学习本书内容。这些视频和书中的实例源代码一起收录于配书光盘中。本书共分4篇。第1篇是PHP准备篇,介绍了PHP的优势、开发环境及安装;第2篇是PHP基础篇,介绍了PHP中的常量与变量、运算符与表达式、流程控制以及函数;第3篇是进阶篇,介绍
立即学习“PHP免费学习笔记(深入)”;










