-
数组查找算法
查找算法,就是从一个数组中,找一个“目标”(可以是值,也可以是键)的算法。
数组的查找函数:- in_array():在一个数组中找是否存在某个数据。
- array_search():在数组中搜索给定的值,如果成功则返回相应的键名。
- array_key_exists():检查给定的键名或索引是否存在于数组中。
<?php
$info1 = ['dzm', 18, '男'];
$info2 = ['name'=>'dzm', 'age'=>18, 'gender'=>'男'];
echo in_array('男', $info1); // 1
echo array_search('男', $info1); // 2
echo array_search('男1', $info1); // bool(false)
echo array_key_exists(0, $info1); // bool(true)
?>
- 排序函数简介
<?php
$arr = array(
'a' => 3,
'b' => 12,
'c' => 4,
'd' => 20,
'e' => 22,
'f' => 30
);
// 默认输出
print_r($arr);
// 排序 sort() 由低到高
sort($arr);
print_r($arr); // Array ( [0] => 3 [1] => 4 [2] => 12 [3] => 20 [4] => 22 [5] => 30 )
// 排序 rsort() 由高到低
rsort($arr);
print_r($arr); // Array ( [0] => 30 [1] => 22 [2] => 20 [3] => 12 [4] => 4 [5] => 3 )
?>
- 冒泡排序
<?php
// 数组
$arr = [18, 22, 12, 15, 23, 9];
// 数组长度
$n = count($arr);
// 需要比较几趟
for ($i = 0; $i < $n - 1; $i++) {
// 在每一趟一里面,需要进行比较几次
for ($k = 0; $k < $n - 1 - $i; $k++) {
// 进行比较, 如果前面的大于后面的,就需要进行交换位置
if ($arr[$k] > $arr[$k + 1]) {
$temp = $arr[$k];
$arr[$k] = $arr[$k + 1];
$arr[$k + 1] = $temp;
}else{
// 如果小于,则不用做处理
}
}
}
// 输出
print_r($arr); // Array ( [0] => 9 [1] => 12 [2] => 15 [3] => 18 [4] => 22 [5] => 23 )
?>
网友评论