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

من موسوعة حسوب
< PHP
ط استبدال النص - 'PHP/Function/isset' ب'PHP/isset'
ط إزالة سطر فارغ
 
(4 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:<code>in_array()‎</code>}}</noinclude>
<noinclude>{{DISPLAYTITLE:<code>in_array()‎</code>}}</noinclude>
(PHP 4, PHP 5, PHP 7)
(PHP 4, PHP 5, PHP 7)


سطر 8: سطر 7:
<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
</syntaxhighlight>تبحث الدالة في المصفوفة <code>haystack</code> عن القيمة <code>needle</code> باستخدام مقارنة عادية (ليست صارمة، أي كما لو استخدمنا المعامل <code>==</code>) ما لم يُضبَط المعامل <code>strict</code>.
</syntaxhighlight>تبحث الدالة في المصفوفة <code>haystack</code> عن القيمة <code>needle</code> باستخدام مقارنة عادية (ليست صارمة، أي كما لو استخدمنا المعامل <code>[[PHP/comparison operators|==]]</code>) ما لم يُضبَط المعامل <code>strict</code>.


== المعاملات ==
== المعاملات ==
سطر 21: سطر 20:


=== <code>strict</code> ===
=== <code>strict</code> ===
إذا ضُبِط المعامل الثالث <code>strict</code> إلى القيمة <code>TRUE</code>، فإن الدالة <code>in_array()‎‎</code> ستتحقق أيضًا أنَّ [[PHP/Types|نوع]] القيمة <code>needle</code> يُطابِق تلك الموجودة في <code>haystack</code> (أي أنَّ المقارمة صارمة، باستخدام المعامل <code>===</code>).
إذا ضُبِط المعامل الثالث <code>strict</code> إلى القيمة <code>TRUE</code>، فإن الدالة <code>in_array()‎‎</code> ستتحقق أيضًا أنَّ نوع القيمة <code>needle</code> يُطابِق تلك الموجودة في <code>haystack</code> (أي أنَّ المقارمة صارمة، باستخدام المعامل <code>[[PHP/comparison operators|===]]</code>).


== القيم المعادة ==
== القيم المعادة ==
سطر 37: سطر 36:
}
}
?>
?>
</syntaxhighlight>يفشل الشرط الثاني نظرًا لأن <code>in_array()‎‎</code> حساس لحالة الأحرف، لذلك يعرض البرنامج أعلاه:<syntaxhighlight lang="php">
</syntaxhighlight>يفشل الشرط الثاني نظرًا لأن <code>in_array()‎‎</code> حساسةٌ لحالة الأحرف، لذلك يعرض البرنامج أعلاه:<syntaxhighlight lang="php">
Got Irix
Got Irix
</syntaxhighlight>المثال 2: مثال على الدالة <code>in_array()‎‎</code> مع استخدام المعامل <code>strict</code><syntaxhighlight lang="PHP">
</syntaxhighlight>المثال 2: مثال على الدالة <code>in_array()‎‎</code> مع استخدام المعامل <code>strict</code><syntaxhighlight lang="PHP">
سطر 75: سطر 74:


== انظر أيضًا ==
== انظر أيضًا ==
* الدالة <code>[[PHP/array-search|array_search()‎]]</code>: البحث في المصفوفة عن قيمة محددة وإعادة مفتاح أول عنصر يحمل هذه القيمة إذا نجحت عملية البحث.
* الدالة <code>[[PHP/array_search|array_search()‎]]</code>: البحث في المصفوفة عن قيمة محددة وإعادة مفتاح أول عنصر يحمل هذه القيمة إذا نجحت عملية البحث.
* الدالة <code>[[PHP/isset|isset()‎‎]]</code>: تحديد ما إذا كان المتغير معينًا وقيمته ليست <code>NULL</code>.
* الدالة <code>[[PHP/isset|isset()‎‎]]</code>: تحديد ما إذا كان المتغير معينًا وقيمته ليست <code>NULL</code>.
* الدالة <code>[[PHP/array-key-exists|array_key_exists()‎]]</code>: التحقق من وجود مفتاح أو مؤشر معين في المصفوفة.
* الدالة <code>[[PHP/array_key_exists|array_key_exists()‎]]</code>: التحقق من وجود مفتاح أو مؤشر معين في المصفوفة.


== مصادر ==
== مصادر ==

المراجعة الحالية بتاريخ 12:59، 11 أبريل 2018

(PHP 4, PHP 5, PHP 7)

تتحقق الدالة in_array()‎ من وجود قيمة ما في مصفوفة.

الوصف

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

تبحث الدالة في المصفوفة haystack عن القيمة needle باستخدام مقارنة عادية (ليست صارمة، أي كما لو استخدمنا المعامل ==) ما لم يُضبَط المعامل strict.

المعاملات

needle

القيمة التي نبحث عنها.

ملاحظة: إذا كانت needle سلسلةً نصيةً (string)، فستكون المقارنة حساسةً لحالة الأحرف.

haystack

المصفوفة المراد البحث فيها.

strict

إذا ضُبِط المعامل الثالث strict إلى القيمة TRUE، فإن الدالة in_array()‎‎ ستتحقق أيضًا أنَّ نوع القيمة needle يُطابِق تلك الموجودة في haystack (أي أنَّ المقارمة صارمة، باستخدام المعامل ===).

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

تعيد هذه الدالة مفتاح العنصر الي يحمل القيمة needle إذا عُثِرَ عليه في المصفوفة، أو تعيد FALSE خلاف ذلك.

أمثلة

المثال 1: مثال على الدالة in_array()‎‎

<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Got Irix";
}
if (in_array("mac", $os)) {
    echo "Got mac";
}
?>

يفشل الشرط الثاني نظرًا لأن in_array()‎‎ حساسةٌ لحالة الأحرف، لذلك يعرض البرنامج أعلاه:

Got Irix

المثال 2: مثال على الدالة in_array()‎‎ مع استخدام المعامل strict

<?php
$a = array('1.10', 12.4, 1.13);

if (in_array('12.4', $a, true)) {
    echo "'12.4' found with strict check\n";
}

if (in_array(1.13, $a, true)) {
    echo "1.13 found with strict check\n";
}
?>

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

1.13 found with strict check

مثال 3: مثال على الدالة in_array()‎‎ مع استخدام needle كمصفوفة

<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');

if (in_array(array('p', 'h'), $a)) {
    echo "'ph' was found\n";
}

if (in_array(array('f', 'i'), $a)) {
    echo "'fi' was found\n";
}

if (in_array('o', $a)) {
    echo "'o' was found\n";
}
?>

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

'ph' was found
'o' was found

انظر أيضًا

  • الدالة array_search()‎: البحث في المصفوفة عن قيمة محددة وإعادة مفتاح أول عنصر يحمل هذه القيمة إذا نجحت عملية البحث.
  • الدالة isset()‎‎: تحديد ما إذا كان المتغير معينًا وقيمته ليست NULL.
  • الدالة array_key_exists()‎: التحقق من وجود مفتاح أو مؤشر معين في المصفوفة.

مصادر