(PHP 4, PHP 5)
natsort — آرایه را با استفاده از الگوریتم "ترتیب طبیعی" را مرتب کنید
این تابع الگوریتمی پیاده میکند که رشتههای عددی الفبایی را به صورت انسانی مرتب میکند در عین حال ارتباط کلید/مقدار را حفظ میکند. این به عنوان "ترتیب طبیعی" یاد میشود. یک مثال از تفاوت بین این الگوریتم و الگوریتمهای مرتبسازی رشته معمولی کامپیوتر (استفاده شده در sort()) در پایین دیده میشود.
آرایه ورودی.
Returns TRUE on success or FALSE on failure.
Version | Description |
---|---|
5.2.10 | عددهای جدا شده توسط صفر (به عنوان مثال '00005') اساسا 0 را در نظر نمیگیرد |
Example #1 مثال natsort() نمایشدهنده استفاده اساسی
<?php
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");
asort($array1);
echo "Standard sorting\n";
print_r($array1);
natsort($array2);
echo "\nNatural order sorting\n";
print_r($array2);
?>
The above example will output:
Standard sorting Array ( [3] => img1.png [1] => img10.png [0] => img12.png [2] => img2.png ) Natural order sorting Array ( [3] => img1.png [2] => img2.png [1] => img10.png [0] => img12.png )
برای اطلاعات بیشتر » مقایسه ترتیبی رشته طبیعی Martin Pool را ببینید.
Example #2 مثالهای natsort() نشاندهنده گرفتنیهای ممکن
<?php
echo "Negative numbers\n";
$negative = array('-5','3','-2','0','-1000','9','1');
print_r($negative);
natsort($negative);
print_r($negative);
echo "Zero padding\n";
$zeros = array('09', '8', '10', '009', '011', '0');
print_r($zeros);
natsort($zeros);
print_r($zeros);
echo "Other characters interfering\n";
$images_oops = array('image_1.jpg','image_12.jpg', 'image_21.jpg', 'image_4.jpg');
print_r($images_oops);
natsort($images_oops);
print_r($images_oops);
echo "Sort by keys\n";
$smoothie = array('orange' => 1, 'apple' => 1, 'yogurt' => 4, 'banana' => 4);
print_r($smoothie);
uksort( $smoothie, 'strnatcmp');
print_r($smoothie);
?>
The above example will output:
Negative numbers Array ( [0] => -5 [1] => 3 [2] => -2 [3] => 0 [4] => -1000 [5] => 9 [6] => 1 ) Array ( [2] => -2 [0] => -5 [4] => -1000 [3] => 0 [6] => 1 [1] => 3 [5] => 9 ) Zero padding Array ( [0] => 09 [1] => 8 [2] => 10 [3] => 009 [4] => 011 [5] => 0 ) Array ( [5] => 0 [1] => 8 [3] => 009 [0] => 09 [2] => 10 [4] => 011 ) Other characters interfering Array ( [0] => image_1.jpg [1] => image_12.jpg [2] => image_21.jpg [3] => image_4.jpg ) Array ( [0] => image_1.jpg [3] => image_4.jpg [1] => image_12.jpg [2] => image_21.jpg ) Sort by keys Array ( [orange] => 1 [apple] => 1 [yogurt] => 4 [banana] => 4 ) Array ( [apple] => 1 [banana] => 4 [orange] => 1 [yogurt] => 4 )