الفرق بين المراجعتين لصفحة: «PHP/natsort»

من موسوعة حسوب
< PHP
طلا ملخص تعديل
 
سطر 21: سطر 21:
== سجل التغييرات ==
== سجل التغييرات ==
{| class="wikitable"
{| class="wikitable"
|الإصدار
!الإصدار
|الوصف
!الوصف
|-
|-
|5.2.10
|5.2.10
سطر 41: سطر 41:
print_r($array2);
print_r($array2);
?>
?>
</syntaxhighlight>سوف تكون مُخرجات المثال أعلاه كالتالي:<syntaxhighlight lang="php">
</syntaxhighlight>سوف تكون مُخرجات المثال أعلاه كالتالي:<syntaxhighlight lang="text">
Standard sorting
Standard sorting
Array
Array
سطر 75: سطر 75:
print_r($zeros);
print_r($zeros);
?>
?>
</syntaxhighlight>سوف تكون مُخرجات المثال أعلاه كالتالي:<syntaxhighlight lang="php">
</syntaxhighlight>سوف تكون مُخرجات المثال أعلاه كالتالي:<syntaxhighlight lang="text">
Negative numbers
Negative numbers
Array
Array

المراجعة الحالية بتاريخ 02:34، 14 أبريل 2018

(PHP 4, PHP 5, PHP 7)

تُرتّب الدالة natsort()‎‎‎‎‎‎‎ عناصر المصفوفة باستخدام خوارزمية "الترتيب الطبيعي".

الوصف

bool natsort ( array &$array )

تُنفذ هذه الدالة خوارزمية تُرتّب سلاسل نصية فيها أحرف وأرقام بنفس الطريقة التي يُرتّب بها الإنسان مع الحفاظ على علاقة المفاتيح بالقيم المرتبطة بها. وتسمى هذه الطريقة باسم "الترتيب الطبيعي". ويمكن ملاحظة مثال على الفرق بين هذه الخوارزمية وخوارزميات الترتيب المعتادة لترتيب السلاسل النصية الرقمية (المستخدمة في الدالة sort()‎‎‎) في المثال التالي.

ملاحظة: إذا تساوت مقارنة عنصرين، فإن ترتيبهما النسبي في المصفوفة المُرتّبة سيكون غير محدد.

المعاملات

array

المصفوفة المُدخَلة.

القيم المعادة

تُعيد الدالة القيمة TRUE عند نجاح عملها أو FALSE عند فشل تنفيذها.

سجل التغييرات

الإصدار الوصف
5.2.10 تجاهل سلاسل حشو الصفر الرقمية (على سبيل المثال، '00005' تتجاهل الآن الحشو بالرقم 0).

أمثلة

المثال 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);
?>

سوف تكون مُخرجات المثال أعلاه كالتالي:

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). المثال 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);
?>

سوف تكون مُخرجات المثال أعلاه كالتالي:

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
)

انظر أيضًا

مصادر