PHP-根据另一个数组的值对索引数组进行排序

PHP-根据另一个数组的值对索引数组进行排序,php,arrays,sorting,Php,Arrays,Sorting,基本上,我想根据另一个数组对数组进行排序 如: <?php $movies=array("Avengers","Spiderman","Batman","Flash"); $ratings=array(9,3,4,7,); ?> 评级数组已经排序,因此电影数组也已经排序,但是是根据评级数组排序的 很抱歉,我是一名php新手,我知道这样做可能非常简单,但我不知道如何做。我能想到的唯一方法是使用插入sql表,然后按降序从中选择,但这可能是一个非常糟糕的主意 非常感谢您的帮助。提前谢谢

基本上,我想根据另一个数组对数组进行排序

如:

<?php
$movies=array("Avengers","Spiderman","Batman","Flash");
$ratings=array(9,3,4,7,);
?>
评级
数组已经排序,因此
电影
数组也已经排序,但是是根据
评级
数组排序的

很抱歉,我是一名php新手,我知道这样做可能非常简单,但我不知道如何做。我能想到的唯一方法是使用插入sql表,然后按降序从中选择,但这可能是一个非常糟糕的主意

非常感谢您的帮助。提前谢谢

哦,如果在Laravel中更容易做到这一点(我使用Laravel),请告诉我如何将电影名称和收视率结合起来

因此,电影名称将是结果数组的键,而收视率将是值

现在,使用排序,以便通过保持电影名称不变,按降序对新数组进行排序

打印数组

代码:

<?php
$movies=array("Spiderman","Batman","Flash","Avengers",);
$ratings=array(3,4,7,9);
$movieRatings = array_combine($movies, $ratings);
arsort($movieRatings);
echo '<pre>';print_r($movieRatings);
?>
array_combine ( array $keys , array $values ) : array
试试这个

<?php
$movies=array("Avengers","Spiderman","Batman","Flash");
$ratings=array(9,3,4,7,);

$result = array_combine ( $movies, $ratings);

// then sort this way...

arsort($result, 0);
?>
它的工作原理是将一个数组中的值设置为另一个数组的键,在您的情况下,这个数组就是您的电影


这两个函数的文档都在这里


谢谢。但我如何获得a值?我说我需要按降序删除我的评论:-(@Titoxdboss,没有抓住要点:你删除了我的评论。我没有删除任何东西。请告诉我我遗漏了什么。@Titoxdboss,我在问题发布的那天已经投票了。我只是按降序更新了…it arsort()…结果是一个数组,所以你可以像数组一样以$result[$index]的形式访问它……即$result[0]我会给复仇者。你能投票支持我的问题吗……我被禁止提问
array_combine ( array $keys , array $values ) : array
<?php
$movies=array("Avengers","Spiderman","Batman","Flash");
$ratings=array(9,3,4,7,);

$result = array_combine ( $movies, $ratings);

// then sort this way...

arsort($result, 0);
?>