PHP usort()

WBOY
WBOY原创
2024-08-29 13:05:131041浏览

该函数用于在 PHP 中对数组进行排序。我们可以根据我们的逻辑和需求对数组进行排序,这意味着它使用用户定义的函数对定义的数组进行排序。此外,它还会从数组中删除所有旧键,并将新键分配给数组的每个元素。这些新键将是一个从 0 开始到数组中存在的元素数量的整数。

广告 该类别中的热门课程 PHP 开发人员 - 专业化 | 8 门课程系列 | 3次模拟测试

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

语法:

该函数接受两个参数作为输入。无论如何,PHP 有许多内置函数可用于对数组元素进行排序,但在这里,我们可以传递用户定义的函数来对数组元素进行排序。这是该功能的优点之一。让我们详细讨论一下语法。见下文;

例如:

boolean usort( array, function)

正如我们所看到的,这个函数接受两个参数作为输入。一种是我们要排序的数组,一种是用户定义的函数,该函数将决定数组元素的排序;简而言之,它会如何表现。现在我们将看到一个练习示例,以尽可能更好地理解语法。

例如:

usort( $myArr, "demo_sort_function");

在上面的语法中,我们将数组和用户定义的函数传递给 usort() 函数。我们将在接下来的部分详细讨论该功能。

usort() 函数在 PHP 中如何工作?

到目前为止,我们知道 usort() 函数用于以用户定义的方式对数组进行排序。我们可以定义自己的逻辑来对数组元素进行排序。 PHP 提供了很多对数组进行排序的内置函数,但这里的一个好处是我们可以在这里编写排序算法来进行排序。此外,此函数将删除数组元素的所有旧键,并为每个元素分配一个新键。该键排序将从 0 开始,依此类推,直到函数的长度。现在我们将详细讨论该函数作为输入的参数以及函数的返回类型。见下文

该函数有两个参数,如下:

1) $array (第一个参数): 这是该函数作为输入的第一个参数。我们可以定义一个数组并将其传递到这里。这将是我们想要以某种新方式排序的数组。

2) comparision_function (第二个参数): 这是该函数作为参数的第二个参数,这将是包含排序逻辑的用户定义函数它。我们可以定义一个函数并从该 usort() 函数中调用用户定义的函数。我们需要像这样在“function_name”中传递名称。下面我们调用一个函数,根据名称对数组进行排序。

例如。 :

usort($arr, "sortByName")

3) Boolean(返回类型):此函数的返回类型是 Boolean,Boolean 表示值 TRUE 或 FALSE,具体取决于函数的结果。该函数在失败的情况下将返回 FALSE,在成功的情况下返回 TRUE。现在我们将看到一个实践示例,了解其实际工作原理以及在何处可以使用此功能。这是初学者了解其流程和工作原理的练习示例。见下文;

例如 :

function my_function_to_sort($a1,$b1)
{
if ($a1==$b1) return 0;
if ($a1 < $b1)
return 1;
else
return -1;
}
$myarr=array(40, 50, 20, 10, 100, 500, 20, 18);
usort($myarr,"my_function_to_sort");

在上面的示例中,我们创建了一个名为“myarr”的数组,它将包含我们要排序的所有元素。这里我们给这个数组分配了一些值,如 40, 50, 20, 10, 100, 500, 20, 18,并使用了 PHP 中已经提供的数组函数。此外,我们在这里创建了一个名为“my_function_to_sort”的函数,该函数负责根据我们返回的条件对数组元素进行排序。在这里面,我们主要编写了传递的两个值大于、小于或等于的逻辑。在此基础上,wit 会将元素放入数组中。

现在我们将详细了解条件。这里的1、-1、0有什么意义呢?让我们详细讨论一下它们。见下文;

1) 0: 如果两个元素相等则这里返回 0。

2) 1: 从上面的条件我们可以看出,如果a1小于b1则返回1。

3) -1: 从上面的条件可以看出,如果a1大于b1则返回-1。

整个逻辑将负责将整数数组按升序或降序排序。在上面的程序中,它会为我们对数组元素进行降序排序。

After this, we are calling usort() function, and here we pass our own parameters here, and that is named ‘$myarr’ ‘my_function_to_sort’. This we can say a custom sorting that we have implemented by using the usort ()
function.

Examples of PHP usort()

Lets us discuss the examples of PHP usort().

Example 1

1) In this example, we are sorting an array of an integer using usort() function available in PHP. This is a custom sort, and we are sorting in descending order.




Demo for usort() funciton in PHP

******************** START ***************

"; echo "

values are ::

"; echo "
"; $lenarr=count($myarr); for($i=0;$i<$lenarr;$i++) { echo "Inside loop printing values :::"; echo $myarr[$i]; echo "
"; } ?>

******************** END ***************

Output:

PHP usort()

Example 2

In this example, we are trying to sort an array of the string by using the usort() function available in PHP. Here we are sorting in ascending order or natural order.

<!DOCTYPE html>
<html>
<body>
<p>Demo for usort() funciton in PHP</p>
<p>******************** START ***************</p>
<?php
function my_function_to_sort($a1,$b1)
{
if ($a1==$b1) return 0;
if ($a1 < $b1)
return -1;
else
return 1;
}
$myarr=array("red","yellow", "orange", "black","pink","purple","brown");
usort($myarr,"my_function_to_sort");
echo "<br>";
echo "<p>values are ::</p>";
echo "<br>";
$lenarr=count($myarr);
for($i=0;$i<$lenarr;$i++)
{
echo "Inside loop printing values :::";
echo $myarr[$i];
echo "<br>";
}
?>
<p>******************** END ***************</p>
</body>
</html>

Output:

PHP usort()

Conclusion

By using this function, we can sort the array in a custom order, or we can say, in a user-defined manner. This can be called a new manner sorting. By using this, we can sort any number of elements in the array and apply our own logic to sort the data in ascending and descending or natural order.

以上是PHP usort()的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:Sorting in PHP下一篇:Sort string PHP