亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 地址數組的自然排序

PHP 地址數組的自然排序

PHP
慕神8447489 2022-08-19 15:52:16
我在對數組進行排序時遇到了一些問題。我調用了一個API,我得到的數據就是這樣array:41 [  0 => StreetData {#251    +house: "1 Some Street"    +street: ""  }  1 => StreetData {#236    +house: "11 Some Street"    +street: ""  }  2 => StreetData {#236    +house: "4 Some Street"    +street: ""  }]我正在嘗試做一個自然的排序,所以一直在嘗試ksort($address->streets);這似乎不會改變任何事情。我所追求的基本上是一種自然的搜索。因此,應該首先考慮數字,然后考慮街道。因此,對于上述內容,我希望它是array:41 [  0 => StreetData {#251    +house: "1 Some Street"    +street: ""  }  1 => StreetData {#236    +house: "4 Some Street"    +street: ""  }  2 => StreetData {#236    +house: "11 Some Street"    +street: ""  }]因為 11 大于 4。這是一個非常模糊的例子,顯然我希望有一個2,3等。那么,我怎樣才能實現這種自然的排序呢?
查看完整描述

1 回答

?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

我認為你需要和.strnatcmpusort


<?php

    class StreetData

    {

        public $house;

        public $street;


        public function StreetData($a, $b)

        {

            $this->house = $a;

            $this->street = $b;

        }

    }


    $arr = array(

        new StreetData("1 Some Street", ""),

        new StreetData("11 Some Street", ""),

        new StreetData("4 Some Street", ""),

    );


    function mySort($a, $b)

    {

        return strnatcmp($a->house, $b->house);

    }


    usort($arr, "mySort");


    var_dump($arr);

?>


查看完整回答
反對 回復 2022-08-19
  • 1 回答
  • 0 關注
  • 129 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號