PHP使用另一个数组对数组进行排序无键

PHP使用另一个数组对数组进行排序无键,php,arrays,sorting,Php,Arrays,Sorting,你好,我有一个php数组 Array ( [0] => red [1] => blue [2] => green [3] => yellow [4] => purple [5] => white ) 我想用这个数组对它进行排序 Array ( [0] => [1] => 0 [2] => -1 [3] => -5 [4] => -5

你好,我有一个php数组

Array
(
    [0] => red
    [1] => blue
    [2] => green
    [3] => yellow
    [4] => purple
    [5] => white
)
我想用这个数组对它进行排序

Array
(
    [0] => 
    [1] => 0
    [2] => -1
    [3] => -5
    [4] => -5
    [5] => 9
)
因此,我希望第二个数组中具有最大值的元素首先出现在第一个数组中,而不是它来自第二个数组的值,而是它自己来自第一个数组的元素在第一个数组中移动到第一个位置!第二名比第二名大,等等。。具有相同值的元素不关心它们将如何排列

我想要得到的输出是

Array
    (
        [0] => white
        [1] => blue
        [2] => green
        [3] => yellow
        [4] => purple
        [5] => red
    )

您可以使用
array\u multisort()


文档

您可以使用
array\u multisort()

文档

使用数组\u多重排序

请参阅,按照“示例1 Trier Plusiers tableaux”

诚恳地使用数组和多端口

请参阅,按照“示例1 Trier Plusiers tableaux”


诚恳地

让我们分别调用$dataArray和$sortArray数组

asort($sortArray);
foreach ( $sortArray as $key=>$val ) {
    $newArray[] = $dataArray[$key];
}

如果需要反转,只需在末尾添加对array_reverse()的调用。

让我们分别调用$dataArray和$sortArray数组

asort($sortArray);
foreach ( $sortArray as $key=>$val ) {
    $newArray[] = $dataArray[$key];
}

如果需要反转,只需在末尾添加对array_reverse()的调用。

我认为OP想要的是按照第二个数组的值对第一个数组进行排序

IE-第二个数组是第一个数组网页的投票计数

如果在第一个数组中,每个元素都是一个数组,其中有两个元素,webpage和vote count,那么这个问题可以更简单地解决

$pages  = Array
(
    array(
        'page'  => 'http://stackoverflow.com/questions/640805/open-source-ios-components-reusable-views-controllers-buttons-table-cells-e',
        'count' => 0
        )
    array(
        'page'  => 'http://stackoverflow.com/questions/3889634/fast-and-lean-pdf-viewer-for-iphone-ipad-ios-tips-and-hints',
        'count' => -1
    )
    // etc for the rest...
)
但由于问题是如何在当前数据结构中实现这一点:

$sorted_values  = asort($pages);

$new_pages  = array();

$sorted_keys    = array_keys($sorted_values);

foreach($sorted_keys as $page_key)
    array_push($new_pages, $pages[$page_key]);

我认为OP想要的是按照第二个数组的值对第一个数组进行排序

IE-第二个数组是第一个数组网页的投票计数

如果在第一个数组中,每个元素都是一个数组,其中有两个元素,webpage和vote count,那么这个问题可以更简单地解决

$pages  = Array
(
    array(
        'page'  => 'http://stackoverflow.com/questions/640805/open-source-ios-components-reusable-views-controllers-buttons-table-cells-e',
        'count' => 0
        )
    array(
        'page'  => 'http://stackoverflow.com/questions/3889634/fast-and-lean-pdf-viewer-for-iphone-ipad-ios-tips-and-hints',
        'count' => -1
    )
    // etc for the rest...
)
但由于问题是如何在当前数据结构中实现这一点:

$sorted_values  = asort($pages);

$new_pages  = array();

$sorted_keys    = array_keys($sorted_values);

foreach($sorted_keys as $page_key)
    array_push($new_pages, $pages[$page_key]);

哦,嘘。您能提供您期望的示例数组吗Dmaybe有一个更好的方法来处理二维数组…你试过什么吗?看看。你可以对第二个数组进行排序,然后在foreach循环中使用它的键对第一个数组进行排序。是的,我正在制作它!哦,嘘。您能提供您期望的示例数组吗Dmaybe有一个更好的方法来处理二维数组…你试过什么吗?看看。你可以对第二个数组进行排序,然后在foreach循环中使用它的键对第一个数组进行排序。是的,我正在制作它!我不知道有一个数组多排序的东西,所以尝试它和回来伙计们感谢洛蒂我不知道有一个数组多排序的东西,所以尝试它和回来伙计们感谢洛特它不是投票人它是一个情绪分析工具stackoverflow我正在做,这是总排名不它不是投票人它是一种情绪我正在制作stackoverflow的分析工具,这是一个非常好的排名,非常感谢老兄!不知道多端口!真是太好了,谢谢你,伙计!不知道多端口!