> 백엔드 개발 > PHP 문제 > PHP 배열을 정렬할 수 있나요?

PHP 배열을 정렬할 수 있나요?

青灯夜游
풀어 주다: 2023-03-15 22:52:02
원래의
2160명이 탐색했습니다.

PHP 배열을 정렬할 수 있습니다. PHP에는 다양한 배열 정렬 기능이 있습니다: 1. "sort(array)" 구문을 사용하여 오름차순으로 정렬할 수 있는 sort() 2. 다음 구문을 사용하여 내림차순으로 정렬할 수 있는 rsort(); "rsort(array)"; 3. shuffle( )은 무작위로 정렬될 수 있으며 구문은 "shuffle(array)"입니다.

PHP 배열을 정렬할 수 있나요?

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

PHP 배열을 정렬할 수 있습니다.

php는 다양한 배열 정렬 요구 사항(키 값, 키 이름, 오름차순, 내림차순 등)에 맞는 다양한 내장 기능을 제공합니다.

1. 오름차순으로 배열 정렬

PHP에는 일반적으로 사용되는 세 가지 배열 오름차순 정렬 함수가 있습니다.

  • sort(): 배열 요소를 오름차순으로 정렬

  • asort() : 연관에 따라 배열의 키 값을 오름차순으로 정렬

  • ksort(): 연관 배열의 키 이름에 따라 오름차순으로 정렬

1을 사용합니다. sort() 함수

배열을 오름차순으로 정렬하는 sort() 함수 배열 요소는 오름차순(작은 것에서 큰 것, 낮은 것에서 높은 것)으로 정렬됩니다.

<?php
header("Content-type:text/html;charset=utf-8");
$arr1 = array(10, 23, 5, 12, 84, 16);
sort($arr1);
var_dump($arr1);

$arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
sort($arr2);
var_dump($arr2);
?>
로그인 후 복사

출력:

PHP 배열을 정렬할 수 있나요?

sort() 함수에는 $array(필수) 및 $sortingtype(생략 가능)의 두 가지 매개 변수가 있습니다.

그 중 $sortingtype 매개변수는 함수 정렬 모드를 정의하고 배열의 요소/항목을 비교하는 방법을 지정하는 데 사용됩니다. 기본값은 "SORT_REGULAR"입니다.

$sortingtype 매개변수는 다음 값으로 설정할 수 있습니다.

  • 0 = SORT_REGULAR: 유형을 변경하지 않고 배열 요소를 정상적으로 비교합니다(기본값)

  • 1 = SORT_NUMERIC: 배열 요소를 숫자로 처리합니다.

  • 2 = SORT_STRING: 배열 요소를 문자열로 처리합니다.

  • 3 = SORT_LOCALE_STRING: 현재 로캘(setlocale()로 변경 가능)을 기반으로 배열 요소를 문자열로 비교합니다.

  • 4 = SORT_NATURAL: natsort()와 유사하며 각 배열 요소에 대해 "자연 순서"로 문자열을 정렬합니다. 이는 PHP5.4.0의 새로운 기능입니다.

  • 5 = SORT_FLAG_CASE: SORT_STRING 또는 SORT_NATURAL(OR 비트 연산)과 결합할 수 있으며 대소문자를 구분하지 않는 정렬 문자열입니다.

<?php
header("Content-type:text/html;charset=utf-8");
$arr1 = array(10, 23, 5, 12, 84, 16);
sort($arr1,2);
var_dump($arr1);

$arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
sort($arr2,1);
var_dump($arr2);
?>
로그인 후 복사
출력 결과:


PHP 배열을 정렬할 수 있나요?

sort() 함수는 인덱스 관계를 유지하지 않지만 배열의 원래 키 이름을 삭제하고 새 숫자 키 이름을 할당합니다.

<?php
header("Content-type:text/html;charset=utf-8");
$age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16);
sort($age);
var_dump($age);
?>
로그인 후 복사

출력:


PHP 배열을 정렬할 수 있나요?

sort() 함수는 값과 인덱스 사이의 관계가 그다지 중요하지 않은 배열(숫자 배열)에 사용할 수 있지만, 값과 인덱스 사이의 관계가 그다지 중요하지 않은 배열에는 적합하지 않습니다. 값과 인덱스가 중요합니다. 이 시점에서 asort() 및 ksort() 함수를 사용해야 합니다.

2. asort() 함수를 사용하세요.

asort() 함수는 연관 배열을 키 값을 기준으로 오름차순으로 정렬하며 원래 배열의 키 이름을 수정하지 않습니다.

header("Content-type:text/html;charset=utf-8");
$age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16);
asort($age);
var_dump($age);
?>
로그인 후 복사

출력:


PHP 배열을 정렬할 수 있나요?

asort() 함수에도 두 개의 매개변수가 있습니다. 매개변수 값은 sort() 함수와 동일하므로 참고하시면 됩니다.

3. ksort() 함수를 사용하세요.

ksort() 함수는 연관 배열을 키 이름에 따라 오름차순으로 정렬하며 원래 배열의 키 이름을 수정하지 않습니다.

<?php
header("Content-type:text/html;charset=utf-8");
$age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16);
ksort($age);
var_dump($age);
?>
로그인 후 복사

Output:


PHP 배열을 정렬할 수 있나요?

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple");
ksort($arr);
var_dump($arr);
?>
로그인 후 복사

Output:


PHP 배열을 정렬할 수 있나요?

ksort() 함수에도 두 개의 매개변수 값이 있으며, sort() 함수와 동일하므로 참고하시면 됩니다. .

2. 내림차순으로 배열 정렬

PHP에는 일반적으로 사용되는 세 가지 배열 내림차순 정렬 함수가 있습니다.

  • rsort(): 배열 요소를 내림차순으로 정렬

  • arsort( ): 연관 배열의 키 값에 따라 배열을 내림차순으로 정렬

  • krsort(): 연관 배열의 키 이름에 따라 내림차순으로 배열 정렬

1을 사용합니다. rsort() 함수

rsort() 함수 배열 요소를 내림차순, 즉 큰 것에서 작은 것, 높은 것에서 낮은 것 순으로 정렬하는 데 사용됩니다.

코드 예제를 살펴보겠습니다:

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(2, 1, 5, 16, 29, 15);
rsort($arr);
var_dump($arr);
?>
로그인 후 복사

출력 결과:

PHP 배열을 정렬할 수 있나요?

rsort() 函数有两个参数:$array(必须)和$sortingtype(可省略)。$sortingtype参数用于表示排序模式,具体取值可以参考上篇文章的sort()函数。下文arsort()和krsort()同样参考sort()函数。

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(2, 1, 5, 16, 29, 15);
rsort($arr,2);
var_dump($arr);
?>
로그인 후 복사

输出结果:

PHP 배열을 정렬할 수 있나요?

rsort()和sort()函数一样,都不会保持索引关系,会删除数组中原有的键名,并为其重新赋值;因此不适合用于注重值和索引间关系的数组。

2、使用arsort()函数

arsort()函数会根据关联数组的键值进行降序排序,且不会修改原数组中的键名。

<?php
header("Content-type:text/html;charset=utf-8");
$age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16);
arsort($age);
var_dump($age);

arsort($age,2);
var_dump($age);
?>
로그인 후 복사

输出结果:

PHP 배열을 정렬할 수 있나요?

3、使用krsort()函数

krsort()函数会根据关联数组的键名进行降序排序,也不会修改原数组中的键名。

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple");
krsort($arr);
var_dump($arr);

krsort($arr,1);
var_dump($arr);
?>
로그인 후 복사

输出结果:

PHP 배열을 정렬할 수 있나요?

3、随机排序

在PHP中,可以使用shuffle()函数随机排序,打乱数组元素。

shuffle()函数会把数组中的元素按随机顺序重新排列。

<?php
header("Content-type:text/html;charset=utf-8");
$arr1 = array(10, 23, 5, 12, 84, 16);
shuffle($arr1);
var_dump($arr1);

$arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
shuffle($arr2);
var_dump($arr2);
?>
로그인 후 복사

输出结果:

PHP 배열을 정렬할 수 있나요?

刷新一下,结果就改变了:

PHP 배열을 정렬할 수 있나요?

PHP 배열을 정렬할 수 있나요?

说明:shuffle()函数不仅会将数组随机打乱,还会删除数组中原有的键名,并为其赋与新的数值键名(即不会保持索引关系)。

推荐学习:《PHP视频教程

위 내용은 PHP 배열을 정렬할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿