الدالة min()‎ في PHP

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث

(PHP 4, PHP 5, PHP 7)

تبحث الدالة min()‎ عن أصغر قيمة من بين القيم الممرَّرة إليها ثمَّ تعيدها.

الوصف

mixed min ( array $values )
mixed min ( mixed $value1 , mixed $value2 [, mixed $... ] )

إن مُرِّر إلى هذه الدالة معاملٌ وحيدٌ وكان هذا المعامل مصفوفةً، فستعيد أصغر قيمة من قيم عناصر تلك المصفوفة. أمَّا إن مرِّر إلى الدالة قيمتان عدديتان أو أكثر، فستعيد القيمة الأصغر من تلك القيم الممرَّرة إليها.

ملاحظة: ستُوازن القيم ذات الأنواع المختلفة وفقًا لقواعد الموازنة المعيارية (standard comparison rules). إن مُرِّرت مثلًا سلسلة نصيَّة غير عدديِّة (non-numeric string) وعددًا صحيحًا (integer) إلى الدالة، فستُعامَل السلسلة النصية حينئذٍ على أساس أنَّ قيمتها 0. من جهة أخرى، إن كانت جميع المعاملات الممرَّرة هي ذات نوع سلسلة نصية غير عدديِّة، فستُوازن قيم تلك المعاملات وفقًا لقيم حروفها. أخيرًا، القيمة النهائيِّة التي ستُعاد هي قيمة المعامل الأصليِّة المُمرَّرة وليست القيمة التي تُوازن مع القيم الأخرى كما ذُكر آنفًا.

تنبيه: كن حذرًا عند تمرير معاملات ذات أنواع مختلفة إذ ستعيد حينذاك الدالة min()‎ قيمًا غير متوقعة.

المعاملات

values

مصفوفة تحتوي عناصرها على القيم التي ستُجرى عليها عمليَّة الموازنة لمعرفة أصغر قيمة لتلك العناصر.

value1

القيمة الأولى التي ستُجرى عليها عمليِّة الموازنة.

value2

القيمة الثانيَّة التي ستُجرى عليها عمليِّة الموازنة.

القيم الأخرى الممرَّرة والتي ستُجرى عليها عمليِّة الموازنة.

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

تُعاد قيمة المعامل الأصغر بعد موازنته مع جميع قيم المعاملات وفقًا لقواعد الموازنة المعيارية. إذا تساوت في القيمة عدَّة معاملات وكانت هذه المعاملات ذات أنواع مختلفة (مثل قيمة 0 وقيمة 'abc')، فستُعاد أول قيمة مُمرَّرة لتلك القيم المتساوية.

إن مُرِّرت إلى الدالة مصفوفة فارغة، فستُعاد القيمة FALSE وسيظهر الخطأ E_WARNING.

أمثلة

المثال 1: استعمال الدالة min()‎

<?php
echo min(2, 3, 1, 6, 7);  // 1
echo min(array(2, 4, 5)); // 2

//مع أي عدد على أساس أن قيمتها 0 'hello' ستُوازن  السلسلة النصية
// إن كانت القيمتين متساويتان، فترتيب المعاملات الممرِّة إلى الدالة يلعب
// دورًا في النتيجة التي سنحصل عليها
echo min(0, 'hello');     // 0
echo min('hello', 0);     // hello

//  مع العدد -1 فسنحصل على -1 إذ أن -1 < 0 ‘hello’ إن وازنَّا السلسلة النصية
echo min('hello', -1);    // -1

// إن مررت عدَّة مصفوفات ذات أطوال مختلفة، فستعاد المصفوفة ذات الطول الأصغر
$val = min(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)

// إن كانت عناصر جميع المصفوفات المُمرَّرة متساوية، فسيُوازن كل عنصر من عناصر
//تلك المصفوفات على حدة بدءًا من اليسار وحتى اليمين
//  نجد في المثال التالي أن: 2 == 2  ولكن 5>4
$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)

//  إن مرِّرت مصفوفة ومعامل آخر ليس مصفوفة، فستعاد المصفوفة إذ تُعدُّ
// المصفوفة هي الأكبر عند موازنتها مع معاملات ذات أنواع مختلفة
$val = min('string', array(2, 5, 7), 42);   // string

//فتوازن هذه القيم  مع (NULL) أو قيمة فارغة (boolean) إن كان أحد المعاملات هو قيمة منطقية
//بغض النظر عن قيم المعاملات الأخرى FALSE < TRUE القيم الأخرى وفقًأ للقاعدة
//TRUE في المثال التالي، ستعامل القيمة -10 والقيمة 10 على أنها
$val = min(-10, FALSE, 10); // FALSE
$val = min(-10, NULL, 10);  // NULL

// FALSE القيمة 0 تعامل على أنها
$val = min(0, TRUE); // 0
?>

انظر أيضًا

  • الدالة max()‎: تعيد أكبر قيمة من بين القيم الممرَّرة إليها.
  • الدالة count()‎: تعيد عدد عناصر المصفوفة المُمرَّرة.

مصادر