【问题标题】:How to sorting array value by key? [duplicate]如何按键排序数组值? [复制]
【发布时间】:2016-05-02 22:14:10
【问题描述】:

我有这样的数组

<?php
$sliders=array(
1=>array('url'=>"url1.com",'image'=>"img1.jpg"),
2=>array('url'=>"url2.com",'image'=>"img2.jpg"),
3=>array('url'=>"url3.com",'image'=>"img3.jpg"),
4=>array('url'=>"url4.com",'image'=>"img4.jpg"),
5=>array('url'=>"url5.com",'image'=>"img5.jpg")
);
foreach($sliders as $sKey=>$sVal)
{
    echo $sKey.'=>'.$sVal['url'].' image=>'.$sVal['image'].'<br>';
}
?>

我的排序键是

$sort[]='2,4,5,3,1';

我想要这样的结果。

array(
1=>array('url'=>"url2.com",'image'=>"img2.jpg"),
2=>array('url'=>"url4.com",'image'=>"img4.jpg"),
3=>array('url'=>"url5.com",'image'=>"img5.jpg"),
4=>array('url'=>"url3.com",'image'=>"img3.jpg"),
5=>array('url'=>"url1.com",'image'=>"img1.jpg"));

我怎样才能像这样对数组进行排序?

谢谢。

【问题讨论】:

    标签: php arrays sorting


    【解决方案1】:

    我不敢相信你自己没有找到这个......

    <?php
    $newArray = array();
    
    $sortArray = explode(',', $sort[0]);
    $i = 1;
    foreach ($sortArray as $s) {
        if (isset($sliders[$s])) {
            $newArray[$i] = $sliders[$s];
            $i++;
        }
    }
    

    【讨论】:

    • 这很好,但是key应该从1开始
    • 我认为这是一个错字。为什么不能从零开始?无论如何:更新了 sn-p。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多