gpt4 book ai didi

php - 如何将我的数组分成 3 个元素的组,按最后一个元素对它们进行排序并显示元素?

转载 作者:行者123 更新时间:2023-12-04 02:01:30 25 4
gpt4 key购买 nike

我试图以 3 个元素为一组显示我的数组,按每组的最后一个元素排序。

我的数组:

$info = array('goal','raul','80','foul','moneer','20','offside','ronaldo','60');

我的预期输出是:

1-foul moneer 20
2-offside ronaldo 60
3-goal raul 80

按元素组的最后一个值排序。

我正在使用 foreach 来显示它:

$i = 0;
foreach($info as $key => $val) {
$i++;
echo $info[$key] . '<br>';
if ($i % 3 == 0){
echo "<br />";
}

这可能吗?如果是,我该如何更改我的代码以获得预期的输出?

最佳答案

这应该适合你:

首先我们array_chunk()您的数组分成 3 个元素的 block ,因此您的数组将具有以下结构:

Array
(
[0] => Array
(
[0] => goal
[1] => raul
[2] => 80
)

[1] => Array
(
[0] => foul
[1] => moneer
[2] => 20
)

[2] => Array
(
[0] => offside
[1] => ronaldo
[2] => 60
)

)

在此之后,我们按最后一个值(这里是键 2)对它进行排序,使用 usort()通过简单地比较值。然后在最后您可以循环遍历您的数组并显示数据。

<?php

$info = array('goal','raul','80','foul','moneer','20','offside','ronaldo','60');
$arr = array_chunk($info, 3);
usort($arr, function($a, $b){
return $a[2] <=> $b[2];
});

foreach($arr as $k => $v)
echo ($k+1) . "-" . implode(" ", $v) . "<br>";

?>

输出:

1-foul moneer 20
2-offside ronaldo 60
3-goal raul 80

关于php - 如何将我的数组分成 3 个元素的组,按最后一个元素对它们进行排序并显示元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30763564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com