Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
578 views
in Technique[技术] by (71.8m points)

sort numeric string array in php

I have a php array like :

myarr[1] = "1",
myarr[2] = "1.233",
myarr[3] = "0",
myarr[4] = "2.5"

the values are actually strings but i want this array to be sorted numerically, also considering float values and maintaining index association.

Please help me out. Thanks

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can use the normal sort function. It takes a second parameter to tell how you want to sort it. Choose SORT_NUMERIC.

Example:

  sort($myarr, SORT_NUMERIC); 
  print_r($myarr);

prints

Array
(
    [0] => 0
    [1] => 1
    [2] => 1.233
    [3] => 2.5
)

Update: For maintaining key-value pairs, use asort (takes the same arguments), example output:

Array
(
    [3] => 0
    [1] => 1
    [2] => 1.233
    [4] => 2.5
)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...