PHP 数组(Array) - 排序算法

简介: PHP 数组(Array) - 排序算法

  • PHP手册 - 对数组进行排序


  • 数组查找算法 查找算法,就是从一个数组中,找一个“目标”(可以是值,也可以是键)的算法。 数组的查找函数:


  • in_array():在一个数组中找是否存在某个数据。
  • array_search():在数组中搜索给定的值,如果成功则返回相应的键名。
  • arraykeyexists():检查给定的键名或索引是否存在于数组中。


```


echo inarray('男', $info1); // 1 echo arraysearch('男', $info1); // 2 echo arraysearch('男1', $info1); // bool(false) echo arraykey_exists(0, $info1); // bool(true) ?> ```


  • 排序函数简介



```


// 默认输出 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 ) ?>


相关文章
|
1月前
|
存储 数据处理 PHP
深入浅出PHP编程之数组操作技巧
【10月更文挑战第30天】在PHP编程的海洋里,数组是一艘承载着数据结构的小船,掌握其操控之道,能让开发者在编码的旅程中乘风破浪。本文将带你领略数组的强大功能,从基础使用到高级应用,一步步揭开数组操作的神秘面纱。准备好你的航海装备,让我们启航吧!
43 4
|
20天前
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
101 67
|
2月前
|
算法
Leetcode 初级算法 --- 数组篇
Leetcode 初级算法 --- 数组篇
46 0
|
1月前
|
存储 缓存 搜索推荐
优化PHP数组性能
优化PHP数组性能
43 8
|
1月前
|
算法 搜索推荐 Java
05 一文解决PHP数组操作
路老师带你深入PHP世界,从数组的基础知识讲起,包括数组的创建、赋值、类型(数字索引数组与关联数组)、多维数组,以及常用数组函数如遍历、统计、查询、添加、删除重复元素和排序等。实例讲解,轻松上手。下期预告:PHP面向对象。
25 2
|
2月前
|
算法 程序员 索引
数据结构与算法学习七:栈、数组模拟栈、单链表模拟栈、栈应用实例 实现 综合计算器
栈的基本概念、应用场景以及如何使用数组和单链表模拟栈,并展示了如何利用栈和中缀表达式实现一个综合计算器。
48 1
数据结构与算法学习七:栈、数组模拟栈、单链表模拟栈、栈应用实例 实现 综合计算器
|
2月前
|
人工智能 前端开发 JavaScript
拿下奇怪的前端报错(一):报错信息是一个看不懂的数字数组Buffer(475) [Uint8Array],让AI大模型帮忙解析
本文介绍了前端开发中遇到的奇怪报错问题,特别是当错误信息不明确时的处理方法。作者分享了自己通过还原代码、试错等方式解决问题的经验,并以一个Vue3+TypeScript项目的构建失败为例,详细解析了如何从错误信息中定位问题,最终通过解读错误信息中的ASCII码找到了具体的错误文件。文章强调了基础知识的重要性,并鼓励读者遇到类似问题时不要慌张,耐心分析。
|
2月前
|
存储 Java
Java“(array) <X> Not Initialized” (数组未初始化)错误解决
在Java中,遇到“(array) &lt;X&gt; Not Initialized”(数组未初始化)错误时,表示数组变量已被声明但尚未初始化。解决方法是在使用数组之前,通过指定数组的大小和类型来初始化数组,例如:`int[] arr = new int[5];` 或 `String[] strArr = new String[10];`。
96 2
|
2月前
|
存储 算法 定位技术
数据结构与算法学习二、稀疏数组与队列,数组模拟队列,模拟环形队列
这篇文章主要介绍了稀疏数组和队列的概念、应用实例以及如何使用数组模拟队列和环形队列的实现方法。
27 0
数据结构与算法学习二、稀疏数组与队列,数组模拟队列,模拟环形队列
|
算法 搜索推荐 PHP
PHP的四大基础算法
PHP的四大基础算法
115 0