如何在 PHP 中对数组的索引进行排序

编程入门 行业动态 更新时间:2024-10-18 08:26:01
本文介绍了如何在 PHP 中对数组的索引进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我需要在我的系统中排名.我有一个数组 $arr = array(120,26,38,96,22);.我需要在不改变它们的位置的情况下对索引进行排名.

I need rank in my system. I have an array $arr = array(120,26,38,96,22);. I need to rank the index inside without changing their position.

我需要的输出类似于:

120 是 1 级,26 是 4 级,38 是 3 级,96 是 2 级,22 是 5 级

120 is rank 1, 26 is rank 4, 38 is rank 3, 96 is rank 2, 22 is rank 5

我试过了,但都排在第 1 位:

I've tried this, but all ranked as rank 1:

<?php $arr = array(120,26,38,96,22); $rank = 0; $score=false; $rows = 0; foreach($arr as $sort){ $rows++; if($score != $arr){ $score = $arr; $rank = $rows; }echo $sort.' is rank '.$rank.'</br>'; } ?>

而且我还需要数组长度是动态的.

And also I need the array length to be dynamic.

推荐答案

这是一种方法:

$arr = array(120,26,38,96,22); $rank = $arr; rsort($rank); foreach($arr as $sort) { echo $sort. ' is rank ' . (array_search($sort, $rank) + 1) . '</br>'; }

  • 将原始数组复制为 $rank 并反向排序,使键为 rank -1
  • 循环原始数组并在 $rank 中搜索该值,返回键(等级)
  • 加 1,因为键从 0 开始
    • Copy the original array as $rank and sort in reverse so the keys will be the rank -1
    • Loop the original array and search for that value in $rank returning the key (rank)
    • Add 1 since keys start at 0
    • 或者其他可能:

      $arr = array(120,26,38,96,22); $rank = $arr; rsort($rank); $rank = array_flip($rank); foreach($arr as $sort) { echo $sort . ' is rank '. ($rank[$sort] + 1) . '</br>'; }

      • 将原始数组复制为 $rank 并反向排序,使键为 rank -1
      • 翻转 $rank 数组以获取值作为键并将排名作为值
      • 循环原始数组并使用该值作为$rank键获得排名
      • 加 1,因为键从 0 开始
        • Copy the original array as $rank and sort in reverse so the keys will be the rank -1
        • Flip the $rank array to get values as keys and rank as values
        • Loop the original array and use the value as the $rank key to get the rank
        • Add 1 since keys start at 0

更多推荐

如何在 PHP 中对数组的索引进行排序

本文发布于:2023-11-30 17:35:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1650914.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数组   中对   索引   如何在   PHP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!