الفرق بين المراجعتين ل"PHP/strnatcmp"

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث
ط (تصحيح خطأ بسيط.)
ط (تصحيح التصنيفات)
 
(7 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 21: سطر 21:
  
 
== أمثلة ==
 
== أمثلة ==
مثال 1: إظهار الاختلاف بين تلك الخوارزميَّة التي تستعملها الدالة <code>strnatcmp()‎</code> والخوارزميَّة الاعتياديَّة المُستخدمة في الحاسوب لترتيب السلاسل النصيَّة التي تستعملها الدالة <code>[[PHP/Function/strcmp|strcmp()‎]]</code><syntaxhighlight lang="php">
+
المثال 1: إظهار الاختلاف بين تلك الخوارزميَّة التي تستعملها الدالة <code>strnatcmp()‎</code> والخوارزميَّة الاعتياديَّة المُستخدمة في الحاسوب لترتيب السلاسل النصيَّة التي تستعملها الدالة <code>[[PHP/strcmp|strcmp()‎]]</code><syntaxhighlight lang="php">
 
<?php
 
<?php
 
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
 
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
سطر 52: سطر 52:
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* الدالة <code>[[PHP/Function/preg-match|preg_match()‎]]</code>: تبحث عن تعبير نمطي (regular expression) في سلسلة نصيَّة.
+
* الدالة <code>[[PHP/preg_match|preg_match()‎]]</code>: تبحث عن تعبير نمطي (regular expression) في سلسلة نصيَّة.
* الدالة <code>[[PHP/Function/strcmp|strcmp()‎]]</code>: توازن بطريقة آمنة ثنائيًّا بين سلسلتين نصيَّتين.
+
* الدالة <code>[[PHP/strcmp|strcmp()‎]]</code>: توازن بطريقة آمنة ثنائيًّا بين سلسلتين نصيَّتين.
* الدالة <code>[[PHP/Function/strcasecmp|strcasecmp()‎]]</code>: توازن بطريقة آمنة ثنائيًّا بين سلسلتين نصيَّتين دون تحسُّس حالة الأحرف.
+
* الدالة <code>[[PHP/strcasecmp|strcasecmp()‎]]</code>: توازن بطريقة آمنة ثنائيًّا بين سلسلتين نصيَّتين دون تحسُّس حالة الأحرف.
* الدالة <code>[[PHP/Function/substr|substr()‎]]</code>: تعيد جزءًا من السلسلة النصيَّة.
+
* الدالة <code>[[PHP/substr|substr()‎]]</code>: تعيد جزءًا من السلسلة النصيَّة.
* الدالة <code>[[PHP/Function/stristr|stristr()‎]]</code>: تبحث عن أول ظهور لسلسلة نصيَّة محدَّدة ضمن سلسلة نصيَّة أخرى دون التحسُّس لحالة الأحرف.
+
* الدالة <code>[[PHP/stristr|stristr()‎]]</code>: تبحث عن أول ظهور لسلسلة نصيَّة محدَّدة ضمن سلسلة نصيَّة أخرى دون التحسُّس لحالة الأحرف.
* الدالة <code>[[PHP/Function/strncasecmp|strncasecmp()‎]]</code>: توازن بطريقة آمنة ثنائيًّا بين سلسلتين نصيَّتين لعدد محدَّد من المحارف الأولى دون التحسُّس لحالة الأحرف.
+
* الدالة <code>[[PHP/strncasecmp|strncasecmp()‎]]</code>: توازن بطريقة آمنة ثنائيًّا بين سلسلتين نصيَّتين لعدد محدَّد من المحارف الأولى دون التحسُّس لحالة الأحرف.
* الدالة <code>[[PHP/Function/strncmp|strncmp()‎]]</code>: توازن بطريقة آمنة ثنائيًّا بين سلسلتين نصيَّتين لعدد محدَّد من المحارف الأولى.
+
* الدالة <code>[[PHP/strncmp|strncmp()‎]]</code>: توازن بطريقة آمنة ثنائيًّا بين سلسلتين نصيَّتين لعدد محدَّد من المحارف الأولى.
* الدالة <code>[[PHP/Function/strstr|strstr()‎]]</code>: تبحث عن أول ظهور لسلسلة نصيَّة محدَّدة ضمن سلسلة نصيَّة أخرى.
+
* الدالة <code>[[PHP/strstr|strstr()‎]]</code>: تبحث عن أول ظهور لسلسلة نصيَّة محدَّدة ضمن سلسلة نصيَّة أخرى.
* الدالة <code>[[PHP/Function/strnatcasecmp|strnatcasecmp()‎]]</code>: توازن بين سلسلتين نصيَّتين دون تحسُّس حالة الأحرف وذلك باستعمال خوارزميَّة الترتيب الطبيعي (natural order algorithm).
+
* الدالة <code>[[PHP/strnatcasecmp|strnatcasecmp()‎]]</code>: توازن بين سلسلتين نصيَّتين دون تحسُّس حالة الأحرف وذلك باستعمال خوارزميَّة الترتيب الطبيعي (natural order algorithm).
* الدالة <code>[[PHP/Function/natsort|natsort()‎]]</code>: ترتِّب المصفوفة باستعمال خوارزميَّة الترتيب الطبيعي.
+
* الدالة <code>[[PHP/natsort|natsort()‎]]</code>: ترتِّب المصفوفة باستعمال خوارزميَّة الترتيب الطبيعي.
* الدالة <code>[[PHP/Function/natcasesort|natcasesort()‎]]</code>: ترتِّب المصفوفة باستعمال خوارزميَّة الترتيب الطبيعي دون تحسُّس حالة الأحرف.
+
* الدالة <code>[[PHP/natcasesort|natcasesort()‎]]</code>: ترتِّب المصفوفة باستعمال خوارزميَّة الترتيب الطبيعي دون تحسُّس حالة الأحرف.
  
 
== مصادر ==
 
== مصادر ==
 
* [http://php.net/manual/en/function.strnatcmp.php صفحة الدالة strnatcmp في توثيق PHP الرسمي.]
 
* [http://php.net/manual/en/function.strnatcmp.php صفحة الدالة strnatcmp في توثيق PHP الرسمي.]
 
[[تصنيف:PHP]]
 
[[تصنيف:PHP]]
 +
[[تصنيف:PHP Function]]
 
[[تصنيف:PHP String]]
 
[[تصنيف:PHP String]]

المراجعة الحالية بتاريخ 10:54، 8 أبريل 2018

(PHP 4, PHP 5, PHP 7)

توازن الدالة strnatcmp()‎ بين سلسلتين نصيَّتين (strings) مع تحسُّس حالة الأحرف (كبيرة أو صغيرة) وذلك باستعمال خوارزميَّة الترتيب الطبيعي (natural order algorithm).

الوصف

int strnatcmp ( string $str1 , string $str2 )

توازن هذه الدالة بين السلسلة النصيَّة str1 والسلسلة النصيَّة str2 باستعمال خوارزميَّة الترتيب الطبيعي مع تحسُّس حال الأحرف. تُرتِّب هذه الخوارزميَّة السلاسل النصيَّة التي تحوي أحرفًا وأرقامًا بالطريقة ذاتها التي يُرتِّب بها البشر (لهذا السبب سميت "الترتيب الطبيعي") ثمَّ تبدأ عمليَّة الموازنة.

المعاملات

str1

السلسلة النصيَّة الأولى.

str2

السلسلة النصيَّة الثانية.

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

تُعاد قيمة أصغر من الصفر إن كان المعامل str1 أصغر من المعامل str2، وقيمة أكبر من الصفر إن كان str1 أكبر من str2، والقيمة صفر إن كان المعاملان السابقان متساويين.

أمثلة

المثال 1: إظهار الاختلاف بين تلك الخوارزميَّة التي تستعملها الدالة strnatcmp()‎ والخوارزميَّة الاعتياديَّة المُستخدمة في الحاسوب لترتيب السلاسل النصيَّة التي تستعملها الدالة strcmp()‎

<?php
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo "Standard string comparison\n";
usort($arr1, "strcmp");
print_r($arr1);
echo "\nNatural order string comparison\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>

سيُظهر المثال السابق النتيجة التالية:

Standard string comparison
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Natural order string comparison
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)

راجع صفحة موازنة السلسلة النصيَّة باستعمال الترتيب الطبيعي للمزيد من المعلومات.

انظر أيضًا

  • الدالة preg_match()‎: تبحث عن تعبير نمطي (regular expression) في سلسلة نصيَّة.
  • الدالة strcmp()‎: توازن بطريقة آمنة ثنائيًّا بين سلسلتين نصيَّتين.
  • الدالة strcasecmp()‎: توازن بطريقة آمنة ثنائيًّا بين سلسلتين نصيَّتين دون تحسُّس حالة الأحرف.
  • الدالة substr()‎: تعيد جزءًا من السلسلة النصيَّة.
  • الدالة stristr()‎: تبحث عن أول ظهور لسلسلة نصيَّة محدَّدة ضمن سلسلة نصيَّة أخرى دون التحسُّس لحالة الأحرف.
  • الدالة strncasecmp()‎: توازن بطريقة آمنة ثنائيًّا بين سلسلتين نصيَّتين لعدد محدَّد من المحارف الأولى دون التحسُّس لحالة الأحرف.
  • الدالة strncmp()‎: توازن بطريقة آمنة ثنائيًّا بين سلسلتين نصيَّتين لعدد محدَّد من المحارف الأولى.
  • الدالة strstr()‎: تبحث عن أول ظهور لسلسلة نصيَّة محدَّدة ضمن سلسلة نصيَّة أخرى.
  • الدالة strnatcasecmp()‎: توازن بين سلسلتين نصيَّتين دون تحسُّس حالة الأحرف وذلك باستعمال خوارزميَّة الترتيب الطبيعي (natural order algorithm).
  • الدالة natsort()‎: ترتِّب المصفوفة باستعمال خوارزميَّة الترتيب الطبيعي.
  • الدالة natcasesort()‎: ترتِّب المصفوفة باستعمال خوارزميَّة الترتيب الطبيعي دون تحسُّس حالة الأحرف.

مصادر