以下是一些PHP中常用的算法实例,通过表格形式展示其代码和应用场景。
1. 冒泡排序算法
冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。

| 参数 | 说明 |
| ------------ | ------------------------------------------------------------ |
| `$arr` | 待排序的数组 |
| 返回值 | 排序后的数组 |
| 代码示例 | ```php
function bubbleSort($arr) {
$len = count($arr);
for ($i = 0; $i < $len; $i++) {
for ($j = 0; $j < $len - $i - 1; $j++) {
if ($arr[$j] > $arr[$j + 1]) {
$temp = $arr[$j];
$arr[$j] = $arr[$j + 1];
$arr[$j + 1] = $temp;
}
}
}
return $arr;
}
```
2. 快速排序算法
快速排序是一种分而治之的排序算法,它将原始数组分成较小和较大的两块,然后递归地对这两块进行排序。
| 参数 | 说明 |
| ------------ | ------------------------------------------------------------ |
| `$arr` | 待排序的数组 |
| 返回值 | 排序后的数组 |
| 代码示例 | ```php
function quickSort($arr) {
if (count($arr) < 2) {
return $arr;
}
$left = [];
$right = [];
reset($arr);
$pivotKey = key($arr);
$pivot = array_shift($arr);
foreach ($arr as $k => $v) {
if ($v < $pivot) {
$left[$k] = $v;
} else {
$right[$k] = $v;
}
}
return array_merge(quickSort($left), [$pivotKey => $pivot], quickSort($right));
}
```
3. 二分查找算法
二分查找算法是一种在有序数组中查找特定元素的搜索算法。
| 参数 | 说明 |
| ------------ | ------------------------------------------------------------ |
| `$arr` | 有序数组 |
| `$target` | 要查找的目标值 |
| 返回值 | 目标值的索引,如果没有找到则返回-1 |
| 代码示例 | ```php
function binarySearch($arr, $target) {
$low = 0;
$high = count($arr) - 1;
while ($low <= $high) {
$mid = (int)(($low + $high) / 2);
if ($arr[$mid] == $target) {
return $mid;
} elseif ($arr[$mid] < $target) {
$low = $mid + 1;
} else {
$high = $mid - 1;
}
}
return -1;
}
```
以上是PHP中常用的几种算法实例,通过表格和代码的形式,希望对您有所帮助。







