찾다
백엔드 개발PHP 튜토리얼PHP 원래 키 이름을 유지하면서 값을 기준으로 배열을 정렬하는 방법은 무엇입니까?

PHP는 값별로 연관 배열을 정렬하는 두 가지 방법을 제공합니다. asort() 함수 사용: 원래 키 이름을 유지하면서 값을 작은 것부터 큰 것까지 정렬합니다. usort() 함수 및 클로저 사용: 원래 키 이름을 유지하면서 사용자 정의 비교 함수로 값을 정렬합니다.

PHP 如何按值对数组进行排序,同时保留原始键名?

asort() 함수 사용asort() 函数

PHP 的 asort() 函数可按值对关联数组进行排序,同时保留原始键名。它接受一个关联数组作为参数,并按照从小到大的顺序对值进行排序。

<?php
$arr = [
    "apple" => 5,
    "banana" => 3,
    "orange" => 2,
    "grape" => 4,
];

asort($arr);

print_r($arr);
?>

输出:

Array
(
    [orange] => 2
    [banana] => 3
    [grape] => 4
    [apple] => 5
)

如你所见,数组的值已按从小到大的顺序排序,但键名保留不变。

使用 usort() 函数和闭包

另一种方法是使用 usort() 函数和闭包。usort() 接受一个回调函数作为参数,该函数用于比较数组中的元素。闭包是一种匿名函数,可用作回调。

<?php
$arr = [
    "apple" => 5,
    "banana" => 3,
    "orange" => 2,
    "grape" => 4,
];

usort($arr, function ($a, $b) {
    return $a[1] - $b[1];
});

print_r($arr);
?>

输出:

Array
(
    [orange] => 2
    [banana] => 3
    [grape] => 4
    [apple] => 5
)

在这种情况下,闭包会比较每个元素的值 ($a[1]$b[1]),并返回 -101

PHP의 asort() 함수는 원래 키 이름을 유지하면서 값을 기준으로 연관 배열을 정렬합니다. 연관 배열을 인수로 받아들이고 값을 가장 작은 것부터 가장 큰 것까지 정렬합니다. 🎜rrreee🎜출력: 🎜rrreee🎜보시다시피 배열의 값은 작은 것부터 큰 것 순으로 정렬되었지만 키 이름은 변경되지 않았습니다. 🎜🎜🎜usort() 함수와 클로저 사용🎜🎜또 다른 방법은 usort() 함수와 클로저를 사용하는 것입니다. usort()는 배열의 요소를 비교하는 데 사용되는 매개변수로 콜백 함수를 허용합니다. 클로저는 콜백으로 사용할 수 있는 익명 함수입니다. 🎜rrreee🎜출력: 🎜rrreee🎜이 경우 클로저는 각 요소($a[1]$b[1])의 값을 비교하고 다음을 반환합니다. 어느 값이 더 큰지에 따라 -1, 0 또는 1. 🎜

위 내용은 PHP 원래 키 이름을 유지하면서 값을 기준으로 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
PHP 中保留键名的快速数组排序方法PHP 中保留键名的快速数组排序方法May 02, 2024 pm 03:06 PM

PHP中保留键名的快速数组排序方法:使用ksort()函数对键进行排序。使用uasort()函数使用用户定义的比较函数进行排序。实战案例:要按分数对用户ID和分数的数组进行排序,同时保留用户ID,可以使用uasort()函数和自定义比较函数。

JS数组排序:sort()方法的工作原理和机制深入解析JS数组排序:sort()方法的工作原理和机制深入解析Dec 28, 2023 am 11:47 AM

深入理解JS数组排序:sort()方法的原理与机制,需要具体代码示例导语:数组排序是在我们日常的前端开发工作中非常常见的操作之一。JavaScript中的数组排序方法sort()是我们最常使用的数组排序方法之一。但是,你是否真正了解sort()方法的原理与机制呢?本文将带你深入理解JS数组排序的原理和机制,并提供具体的代码示例。一、sort()方法的基本用法

如何使用PHP开发简单的导航栏和网址收藏功能如何使用PHP开发简单的导航栏和网址收藏功能Sep 20, 2023 pm 03:14 PM

如何使用PHP开发简单的导航栏和网址收藏功能导航栏和网址收藏功能是网页开发中常见并且实用的功能之一。本文将介绍如何使用PHP语言开发一个简单的导航栏和网址收藏功能,并提供具体的代码示例。创建导航栏界面首先,我们需要创建一个导航栏界面。导航栏通常包含一些链接,用于快速导航到其他页面。我们可以使用HTML和CSS来设计并排列这些链接。以下是一个简单的导航栏界面的

PHP 数组自定义排序算法的编写指南PHP 数组自定义排序算法的编写指南Apr 27, 2024 pm 06:12 PM

如何编写自定义PHP数组排序算法?冒泡排序:通过比较和交换相邻元素来排序数组。选择排序:每次选择最小或最大元素并将其与当前位置交换。插入排序:逐个插入元素到有序部分。

PHP 数组按值排序后如何保持键名?PHP 数组按值排序后如何保持键名?May 02, 2024 pm 04:09 PM

在PHP中按值排序数组,同时保留键名的方法是:使用usort()函数按值排序数组。向usort()函数传递一个匿名函数作为比较函数,该函数返回元素值的差值。usort()会根据匿名函数对数组进行排序,同时保持键名不变。

使用Golang反射实现结构体字段遍历与修改使用Golang反射实现结构体字段遍历与修改Apr 03, 2024 pm 12:06 PM

Go反射可以用于遍历和修改结构体字段。字段遍历:使用reflect.TypeOf和reflect.Field遍历结构体字段。字段修改:通过Elem和Set来访问和修改结构体字段的值。实战案例:使用反射将结构体转换为map,再将map转换为JSON。

PHP 中按自定义排序规则对数组进行排序,保留原始键名PHP 中按自定义排序规则对数组进行排序,保留原始键名May 04, 2024 am 09:27 AM

在PHP中,使用uasort()函数可按自定义排序规则对数组进行排序,同时保留原始键名。自定义比较函数是一个接受两个元素作为输入并返回整数的函数:负数表示前者小于后者,零表示相等,正数表示前者大于后者。

PHP和GMP教程:如何实现大数的乘法运算PHP和GMP教程:如何实现大数的乘法运算Jul 29, 2023 pm 03:29 PM

PHP和GMP教程:如何实现大数的乘法运算引言:当我们在编程中需要处理大整数时,普通的整数类型就无法满足需求了。在PHP中,GMP(GNUMultiplePrecision)扩展提供了处理任意精度整数的能力。本教程将重点介绍如何使用PHP的GMP扩展来实现大数的乘法运算。安装和启用GMP扩展在开始之前,我们需要确保PHP已经安装并启用了GMP扩展。可以通

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)