douhuzhi0907 2016-04-19 08:31
浏览 6
已采纳

使用php重新排序数组中的元素

I have the following array and it is changeable from time to time.

Array
(
    [For Sale] => For Sale
    [Sold] => Sold
    [To Let] => To Let
    [Let] => Let
    [Under Offer] => Under Offer
    [Exchanged] => Exchanged
    [Withdrawn] => Withdrawn
    [Acquired] => Acquired
)

No matter what's the initial sequence was but when the page loads it should look like

Array
    (
        [For Sale] => For Sale       
        [Under Offer] => Under Offer
        [Exchanged] => Exchanged
        [Withdrawn] => Withdrawn
        [Acquired] => Acquired
        [Sold] => Sold
        [To Let] => To Let
        [Let] => Let
    )

Basically these three elements should stay at the bottom of the array.

[Sold] => Sold
[To Let] => To Let
[Let] => Let

Any help is highly appreciated. Thanks in advance.

  • 写回答

4条回答 默认 最新

  • douzi7711 2016-04-19 11:25
    关注

    Here I've used in_array() to match the key with the given keys 'Sold','To Let','Let', then unset that key from $input array and push that key value to the array.

    <?php
    $input = array(
        'For Sale' => 'For Sale',
        'Sold' => 'Sold',
        'To Let' => ' To Let',
        'Let' => 'Let',
        'Under Offe' => 'Under Offer',
        'Exchanged' => 'Exchanged',
        'Withdrawn' => 'Withdrawn',
        'Acquired' => 'Acquired'
    );
    
    foreach ($input as $key => $val) {
        if (in_array($key, array('Sold', 'To Let', 'Let'))) {
            unset($input[$key]);
            $input[$key] = $val;
        }
    }
    
    echo "<pre>";
    print_r($input);
    ?>
    

    This will Output :

    Array
    (
        [For Sale] => For Sale
        [Under Offe] => Under Offer
        [Exchanged] => Exchanged
        [Withdrawn] => Withdrawn
        [Acquired] => Acquired
        [Sold] => Sold
        [To Let] =>  To Let
        [Let] => Let
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分