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

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

php排序版本字符串數組

php排序版本字符串數組

PHP
慕容3067478 2022-07-22 16:42:22
我想在 php.ini 中對一組版本字符串進行排序。輸入將是這樣的:["2019.1.1.0", "2019.2.3.0", "2019.2.11.0", "2020.1.0.0", "2019.1.3.0", "2019.3.0.0"]對此進行排序的最簡單方法是什么?按原樣對字符串進行排序不起作用,因為這會將“2019.2.11.0”放在“2019.2.3.0”之前,這當然不是我想要的。結果應該是["2019.1.1.0", "2019.1.3.0", "2019.2.3.0", "2019.2.11.0", "2019.3.0.0", "2020.1.0.0"]
查看完整描述

2 回答

?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

您正在尋找自然排序。


$versions = ["2019.1.1.0", "2019.2.3.0", "2019.2.11.0", "2020.1.0.0", "2019.1.3.0", "2019.3.0.0"];

$sorted = $versions;

natsort($sorted);

Array

(

    [0] => 2019.1.1.0

    [4] => 2019.1.3.0

    [1] => 2019.2.3.0

    [2] => 2019.2.11.0

    [5] => 2019.3.0.0

    [3] => 2020.1.0.0

)


查看完整回答
反對 回復 2022-07-22
?
撒科打諢

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

你應該使用version_compare函數。


這是usort與 version_compare 一起使用的方法。


$a = ["2019.1.1.0", "2019.2.3.0", "2019.2.11.0", "2020.1.0.0", "2019.1.3.0", "2019.3.0.0"];


usort($a, 'version_compare');


var_dump($a);

結果


array(6) {

  [0]=>

  string(10) "2019.1.1.0"

  [1]=>

  string(10) "2019.1.3.0"

  [2]=>

  string(10) "2019.2.3.0"

  [3]=>

  string(11) "2019.2.11.0"

  [4]=>

  string(10) "2019.3.0.0"

  [5]=>

  string(10) "2020.1.0.0"

}


查看完整回答
反對 回復 2022-07-22
  • 2 回答
  • 0 關注
  • 153 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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