PHP开发笔记系列(九)- 数组(三)
??? 写了两篇关于Php数组的日常使用,本篇《PHP开发笔记系列(九)- 数组(三)》,主要关注数组的大小和排序。
??? 1. 获取数组长度
??? count()函数返回数组中的元素个数,是sizeof()是count()的别名,功能一样。
?
file: count.phpurl: http://localhost:88/array/count.php<?php $map['1st'] = '1st value'; $map['2nd'] = '2nd value'; $map['3rd'] = '3rd value'; echo count($map); ?>
?
??? count()函数除了接受第一个被count的数组变量外,还可以接受一个mode的参数,指定是否需要进行递归,统计多维数组中所有元素的个数,代码如下:
?
file: count.phpurl: http://localhost:88/array/count.php<?php $school['grade1']['class1'] = 'class1, grade1'; $school['grade1']['class2'] = 'class2, grade1'; $school['grade1']['class3'] = 'class3, grade1'; $school['grade2']['class1'] = 'class1, grade2'; $school['grade2']['class2'] = 'class2, grade2'; $school['grade2']['class3'] = 'class3, grade2'; $school['grade3']['class1'] = 'class1, grade3'; echo count($school); echo count($school, 1); ?>
?
??? 2. 统计数组元素出现频率
??? array_count_values()函数返回一个包含关联键/值的数组。如'A'出现2次,'B'出现1次,之类。代码如下:
?
file: array_count_values.phpurl: http://localhost:88/array/array_count_values.php<?php $favor = array('Sport', 'Travel', 'Sport' , 'Sing'); $stats = array_count_values($favor); print_r($stats); echo "<br/>====================<br/>"; $favor1 = array('1'=>'Sport', '2'=>'Sing', '3'=>'Sing', '4'=>'Travel'); $stats1 = array_count_values($favor1); print_r($stats1); ?>
?
??? 3. 返回数组非重复元素
??? array_unique()函数会删除数组中所有重复的值,返回一个由不重复值组成的数组,原数组元素不变,代码如下:
?
file: array_unique.phpurl: http://localhost:88/array/array_unique.php<?php $favor = array('Sport', 'Travel', 'Sport' , 'Sing'); $unique = array_unique($favor); print_r($favor); echo "<br/>====================<br/>"; print_r($unique); ?>
?
??? 4. 数组排序
??? sort()函数对数组进行排序,各元素按值由低到高的顺序排列。sort()函数不反悔排序后的数组,相反它只是排序,不论结果如何都不反悔任何值。同时,可以为排序指定排序规则,如SORT_NUMERIC是按数值排序,应用在整数和浮点数上,SORT_REGULAR是按ASCII值进行排序,应用在字符或字符串上,SORT_STRING是按字符串排序。代码如下:
??
??? 注意:sort()函数会直接修改被传入的array中的值,仔细查看下面程序的输出结果。
?
file: sort.phpurl: http://localhost:88/array/sort.php<?php $number = array(1, 4, 3, 2, 5, 10, 7, 1, 2); print_r($number); echo '<br/>'; sort($number, SORT_NUMERIC); print_r($number); echo "<br/>====================<br/>"; $letter = array('a', 'A', 'Z', 'f', 'G', 'e'); print_r($letter); echo '<br/>'; // 默认是模式是SORT_REGULAR sort($letter, SORT_REGULAR); print_r($letter); echo "<br/>====================<br/>"; $string = array('Jack', 'Mike', 'Mary', 'Jassica', 'Ruby'); print_r($string); echo '<br/>'; sort($string, SORT_STRING); print_r($string); ?>
?
??? 从上面的结果可以查看,sort()函数修改的不仅被传入数组的元素,而且把键与值的对应关系都改变了,若需要保持键/值对的关系,需要用到asort()函数,如下:
?
file: asort.phpurl: http://localhost:88/array/asort.php<?php $number = array(1, 4, 3, 2, 5, 10, 7, 1, 2); print_r($number); echo '<br/>'; asort($number, SORT_NUMERIC); print_r($number); echo "<br/>====================<br/>"; $letter = array('a', 'A', 'Z', 'f', 'G', 'e'); print_r($letter); echo '<br/>'; // 默认是模式是SORT_REGULAR asort($letter, SORT_REGULAR); print_r($letter); echo "<br/>====================<br/>"; $string = array('Jack', 'Mike', 'Mary', 'Jassica', 'Ruby'); print_r($string); echo '<br/>'; asort($string, SORT_STRING); print_r($string); ?>?
??? 5. 逆序排序
??? rsort()函数与sort函数类似,同样有保持键值对关系和不保持键值对关系的模式,使用方法一致。
??? 6. 数组自然排序
??? 在数组的排序中,如student1.jpg, student2.jpg,student10.jpg, student20.jgp,使用典型的排序如sort后,会排出student1.jpg, studdent10.jpg, student2.jpg, student20.jpg这样的顺序,但期望的顺序是student1.jpg, student2.jpg, studdent10.jpg, student20.jpg。这时就需要用到natsort()函数了。
?
file: natsort.phpurl: http://localhost:88/array/natsort.php<?php $student = array('student1.jpg', 'student20.jpg', 'student10.jpg', 'student2.jpg'); print_r($student); echo "<br/> ========================== <br/>"; sort($student); print_r($student); echo "<br/> ========================== <br/>"; natsort($student); print_r($student); ?>?
??? natsort()函数还有一个变形,叫natcasesort()函数,在功能上与natsort()函数相同,只是不缺分大小写。
?
file: natcasesort.phpurl: http://localhost:88/array/natcasesort.php<?php $student = array('student1.jpg', 'Student20.jpg', 'student10.jpg', 'Student2.jpg'); natcasesort($student); print_r($student); ?>
?
??? 7. 按键值对数组排序
??? 上述函数主要对数值键数组进行排序,那么对关联键数组进行排序的话,可能有特殊的需求,例如按照键值进行排序,此时需要用到ksort()函数,成功返回TRUE,失败返回FALSE。同时还象sort()函数一样,接受一个sort_flags的参数,为SORT_NUMERIC,SORT_REGULAR,SORT_STRING,指定排序模式。代码如下:
?
file: ksort.phpurl: http://localhost:88/array/ksort.php<?php $student['Jack'] = 'Jack Lee'; $student['Samamda'] = 'Samamda Mo'; $student['Smart'] = 'Smart Chan'; $student['Mary'] = 'Mary Lu'; $student['Ban'] = 'Ban Chuang'; print_r($student); echo "<br/> ========================== <br/>"; ksort($student); print_r($student); ?>
?
??? 8. 自定义排序规则
??? Php还提供了一个自定排序的方法,就是usort(),可以使用在该函数中指定的用户自定义比较算法对数组排序。但是一般用得较少,大家自己实验一下。
???
??? Php数组的排序部分就讲到这里,下次继续Php数组的后续内容。
??? 本文地址:http://ryan-d.iteye.com/blog/1566686
?
?

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

Uniapp是一款跨平台的开发框架,其强大的跨端能力使得开发者可以快速方便地开发出各种应用。在Uniapp中实现拖拽排序和拖拽操作也是非常简单的,并且可以支持多种组件和元素的拖拽操作。本文将介绍如何使用Uniapp实现拖拽排序和拖拽操作,并提供具体的代码示例。拖拽排序功能在很多应用中都非常常见,例如可以用于实现列表的拖拽排序,图标的拖拽排序等。下面我们以列表

C++sort函数底层采用归并排序,其复杂度为O(nlogn),并提供不同的排序算法选择,包括快速排序、堆排序和稳定排序。

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

标题:C#中使用Array.Sort函数对数组进行排序的示例正文:在C#中,数组是一种常用的数据结构,经常需要对数组进行排序操作。C#提供了Array类,其中有Sort方法可以方便地对数组进行排序。本文将演示如何使用C#中的Array.Sort函数对数组进行排序,并提供具体的代码示例。首先,我们需要了解一下Array.Sort函数的基本用法。Array.So

The HP Victus 15 is 1 15.6-inch entry-level gaming laptop that ordinarily wouldn't be worth much consideration, however a new Best Buy deal offers 40% off the entry-level gaming laptop, bringing the price down from $799.99 to a very budget-friendly $

去除方法:1、使用substr_replace()函数将首位数字替换为空字符串即可,语法“substr_replace($num,"",0,1)”;2、用substr截取从第二位数字开始的全部字符即可,语法“substr($num,1)”。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

记事本++7.3.1
好用且免费的代码编辑器

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境