>  기사  >  백엔드 개발  >  PHP에서 배열 정렬 및 섞기 문제를 해결하는 방법은 무엇입니까?

PHP에서 배열 정렬 및 섞기 문제를 해결하는 방법은 무엇입니까?

WBOY
WBOY원래의
2021-11-08 17:54:054852검색

이전 글에서 "배열에서 키 이름을 얻는 방법은? 키 이름의 대소문자를 어떻게 변환하나요? "에서는 키 이름 얻기, 키 이름 대소문자 변환 등 PHP의 키 이름 작업에 대해 자세히 소개합니다. 이 기사에서는 PHP에서 여러 배열을 정렬하는 방법을 살펴보겠습니다. 모든 사람에게 도움이 되기를 바랍니다. !

PHP에서 배열 정렬 및 섞기 문제를 해결하는 방법은 무엇입니까?

이전 글에서 배열의 모든 요소 이름을 얻으려면 array_keys 함수를 사용해야 한다는 것을 배웠습니다. 배열 키 이름을 사용하려면 array_change_key_case 함수를 사용해야 합니다. 이는 모두 배열 작업의 일부입니다. 이전에 "PHP 배열을 정렬하는 방법(일부)에서 논의했습니다. 그 중 "상세 사진 및 텍스트" array_keys函数来实现,想要转换数组键名的大小写需要通过array_change_key_case函数来进行操作。这都是属于数组操作的一部分,我们之前在《怎样去给PHP数组进行排序(图文详解)》中简单的介绍了一些。

在PHP中怎样才能对多个数组进行排序?有怎样随机的对数组进行随机排序呢?在PHP中有内置的array_multisort函数与shuffle函数能够对数组进行升序排列和随机排序,下面我们一起来看一下吧。

<strong><span style="font-size: 20px;">array_multisort</span></strong>函数-对多个数组进行排序

在PHP中array_multisort函数能够输入一个或者多个数组,函数会先给第一个数组排序,然后接着对下一组进行排序。array_multisort函数的基本语法格式如下:

array_multisort(array1,sorting order,sorting type,array2,array3...)

其中需要注意的是:

参数array1是必须要有的,是要进行排序的数组,参数array2、3是可选的,也是要进行排序的数组。参数sorting order也是一个可选的参数,在默认的情况下参数表示的是SORT_ASC,表示的是数组排序是升序,当单数sorting order为SORT_DESC的时候,表示的是按降序排列。

参数sorting type也是一个可选参数,默认情况下的值为SORT_REGULAR表示的是,数组排序按照常规顺序排列。当参数的值为SORT_NUMERIC 的时候表示的是将数组中的元素当做数字来进行处理。当参数的值为SORT_STRING表示的是将数组中的元素当做字符串来进行处理。当参数的值为SORT_LOCALE_STRING表示的是一颗通过setlocale函数来进行更改的作为字符串处理。当参数的值为SORT_NATURAL表示的是类似 natsort() 的自然排序。

使用array_multisort函数对字符串进行排序,键名为字符串的元素,键名会保留,但是键名为数字的会被重新索引。这个索引规则还是一样的。

如果排序成功的话,返回的结果是true;如果排序失败,返回的结果是false

下面我们通过示例来看一下array_multisort函数的基本用法,示例如下:

<?php
$a1=array("Dog","Cat");
$a2=array("Fw","Marry");
array_multisort($a1,$a2);
print_r($a1);
echo &#39;<br/>&#39;;
print_r($a2);
?>

输出结果:

PHP에서 배열 정렬 및 섞기 문제를 해결하는 방법은 무엇입니까?

上述示例中,返回的结果是进行了升序的排序,下面我们来看一下,当两个值相同的时候,输出结果会有什么变化,示例如下:

<?php
$a1=array("Dog","Dog","Cat");
$a2=array("Pluto","Fw","Marry");
array_multisort($a1,$a2);
print_r($a1);
echo &#39;<br/>&#39;;
print_r($a2);
?>

输出结果:

PHP에서 배열 정렬 및 섞기 문제를 해결하는 방법은 무엇입니까?

上述示例中,当数组中的两个元素都相同的时候,并不会被覆盖,而是键名不同重新排序。

下面我们在来看一个综合的实例,当我们合并两个数组并且按照降序进行排列,输出结果会发生什么变化,示例如下:

<?php
$a1=array(1,30,15,7,25);
$a2=array(4,30,20,41,66);
$num=array_merge($a1,$a2);
array_multisort($num,SORT_DESC,SORT_NUMERIC);
print_r($num);
?>

输出结果:

PHP에서 배열 정렬 및 섞기 문제를 해결하는 방법은 무엇입니까?

上述中我们通过array_multisort函数能够对数组元素进行排序,下面我们来介绍一下shuffle函数。它能够将数组打乱。

<strong><span style="font-size: 20px;">shuffle</span></strong>函数-重新排序数组

在PHP中既然有函数能够将数组元素进行有序的排序,那同样的也有办法能够将数组进行重新排序,也就是将数组打乱。shuffle函数的基本语法结构如下:

shuffle(array)

其中参数array就是需要进行重新排序的数组,shuffle에 간략하게 소개되어 있습니다.

🎜PHP에서 여러 배열을 정렬하는 방법은 무엇입니까? 무작위로 배열을 무작위로 정렬하는 방법은 무엇입니까? PHP에는 배열을 오름차순으로 무작위로 정렬할 수 있는 array_multisortshuffle 함수가 내장되어 있습니다. 함께 살펴보겠습니다. 🎜🎜<strong><span style="font-size: 20px;">array_multisort</span></strong> 함수 - 여러 배열 정렬🎜🎜PHP에서 array_multisort 함수는 하나 이상의 배열을 입력할 수 있습니다. 이 함수는 첫 번째 배열을 먼저 정렬한 후 계속해서 다음 배열을 정렬합니다. 그룹. array_multisort 함수의 기본 구문 형식은 다음과 같습니다. 🎜
<?php
$my_array = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"purple");
shuffle($my_array);
print_r($my_array);
?>
🎜주의해야 할 사항은 다음과 같습니다.
🎜🎜매개변수 array1은 필수이며 다음과 같아야 합니다. 배열의 경우 매개변수 array2 및 3은 선택사항이며 정렬할 배열이기도 합니다. 정렬 순서 매개변수도 선택적 매개변수입니다. 기본적으로 이 매개변수는 SORT_ASC를 나타내며, 이는 단일 정렬 순서가 SORT_DESC인 경우 배열 정렬이 오름차순임을 나타냅니다. 언제, 내림차순으로 정렬하는 것을 의미합니다. 🎜🎜정렬 유형 매개변수도 선택적 매개변수입니다. 기본값은 SORT_REGULAR이며, 이는 배열이 일반적인 순서로 정렬된다는 의미입니다. 매개변수 값이 SORT_NUMERIC 이면 배열의 요소가 숫자로 처리된다는 의미입니다. 매개변수 값이 SORT_STRING이면 배열의 요소가 문자열로 처리된다는 의미입니다. 매개변수의 값이 SORT_LOCALE_STRING이면 setlocale 함수를 통해 문자열이 변경된다는 의미입니다. 매개변수 값이 SORT_NATURAL이면 natsort()와 유사한 자연 정렬을 나타냅니다. 🎜🎜문자열을 정렬하려면 array_multisort 함수를 사용하세요. 키 이름이 문자열인 요소의 키 이름은 유지되지만 키 이름이 숫자인 요소는 다시 색인화됩니다. 인덱싱 규칙은 여전히 ​​동일합니다. 🎜🎜정렬에 성공하면 반환된 결과는 true이고, 정렬에 실패하면 반환된 결과는 false입니다.
🎜🎜예제를 통해 array_multisort 함수의 기본 사용법을 살펴보겠습니다. 🎜rrreee🎜출력 결과:
🎜🎜PHP에서 배열 정렬 및 섞기 문제를 해결하는 방법은 무엇입니까?🎜🎜위의 예에서 반환된 결과는 오름차순으로 정렬됩니다. 두 값이 동일할 때 출력 결과가 어떻게 변하는지 살펴보겠습니다.
🎜rrreee🎜출력 결과:
🎜🎜PHP에서 배열 정렬 및 섞기 문제를 해결하는 방법은 무엇입니까?🎜🎜 위의 예에서 배열의 두 요소가 모두 동일하면 덮어쓰지 않고 다른 키 이름으로 재정렬됩니다. 🎜🎜아래의 종합적인 예를 살펴보겠습니다. 두 개의 배열을 병합하여 내림차순으로 정렬하면 출력 결과는 다음과 같습니다. 🎜rrreee🎜출력 결과: 🎜🎜PHP에서 배열 정렬 및 섞기 문제를 해결하는 방법은 무엇입니까?🎜🎜위에서는 를 전달합니다. array_multisort배열 요소를 정렬할 수 있는 함수인 shuffle 함수를 소개하겠습니다. 배열을 섞을 수 있습니다. 🎜🎜<strong><span style="max-width:90%">셔플</span></strong> 함수 - 배열 재정렬🎜🎜PHP에는 배열 요소를 순서대로 정렬할 수 있는 함수가 있기 때문에 배열을 재정렬하는, 즉 배열을 방해하는 방법도 있습니다. shuffle 함수의 기본 구문 구조는 다음과 같습니다. 🎜rrreee🎜 매개변수 배열은 재정렬이 필요한 배열입니다. shuffle() 함수는 요소를 재정렬합니다. 무작위 순서로 배열됩니다. 배열의 원래 키 이름은 삭제되고 새 배열은 새 키 이름을 갖게 됩니다. 🎜

函数如果排序成功,返回的结果是true,如果失败,返回的结果是flase

下面我们通过示例来看一下shuffle函数的使用,示例如下:

<?php
$my_array = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"purple");
shuffle($my_array);
print_r($my_array);
?>

输出结果:

PHP에서 배열 정렬 및 섞기 문제를 해결하는 방법은 무엇입니까?

PHP에서 배열 정렬 및 섞기 문제를 해결하는 방법은 무엇입니까?

上述示例中,通过shuffle函数将数组进行重新排列,并且每执行一次数组的排列顺序就会改变。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

위 내용은 PHP에서 배열 정렬 및 섞기 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.