الفرق بين المراجعتين ل"PHP/array intersect key"
ط (إضافة عنوان الصفحة والتصنيفات) |
ط (نقل عبد اللطيف ايمش صفحة PHP/Function/array-intersect-key إلى PHP/array intersect key: إعادة هيكلة التوثيق) |
||
(4 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 2: | سطر 2: | ||
(PHP 5 >= 5.1.0, PHP 7) | (PHP 5 >= 5.1.0, PHP 7) | ||
− | تحسب الدالة array_intersect_key() التقاطع (intersection) بين المصفوفات باستخدام المفاتيح للمقارنة. | + | تحسب الدالة <code>array_intersect_key()</code> التقاطع (intersection) بين المصفوفات باستخدام المفاتيح للمقارنة. |
== الوصف == | == الوصف == | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
array array_intersect_key ( array $array1 , array $array2 [, array $... ] ) | array array_intersect_key ( array $array1 , array $array2 [, array $... ] ) | ||
− | </syntaxhighlight>تعيد الدالة كل عناصر المصفوفة array1 الموجودة مفاتيحها بكل المصفوفات الأخرى. | + | </syntaxhighlight>تعيد الدالة كل عناصر المصفوفة <code>array1</code> الموجودة مفاتيحها بكل المصفوفات الأخرى. |
== المعاملات == | == المعاملات == | ||
− | |||
+ | === <code>array1</code> === | ||
مصفوفة العناصر التي ستتحقق الدالة منها. | مصفوفة العناصر التي ستتحقق الدالة منها. | ||
− | array2 | + | === <code>array2</code> === |
− | |||
مصفوفة العناصر التي ستقارن بها الدالة. | مصفوفة العناصر التي ستقارن بها الدالة. | ||
− | … | + | === <code>…</code> === |
− | |||
مجموعة متغيرة من المصفوفات التي ستقارن الدالة بها. | مجموعة متغيرة من المصفوفات التي ستقارن الدالة بها. | ||
== القيم المعادة == | == القيم المعادة == | ||
− | تعيد مصفوفة مرتبطة تحتوي على كل عناصر المصفوفة array1 الموجودة مفاتيحها بكل المصفوفات الأخرى. | + | تعيد مصفوفة مرتبطة تحتوي على كل عناصر المصفوفة <code>array1</code> الموجودة مفاتيحها بكل المصفوفات الأخرى. |
== أمثلة == | == أمثلة == | ||
− | المثال 1: مثال بسيط عن الدالة array_intersect_key()<syntaxhighlight lang="php"> | + | المثال 1: مثال بسيط عن الدالة <code>array_intersect_key()</code><syntaxhighlight lang="php"> |
+ | |||
<?php | <?php | ||
− | + | $array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4); | |
− | $array1 = array('blue' | + | $array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8); |
− | |||
− | $array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' | ||
var_dump(array_intersect_key($array1, $array2)); | var_dump(array_intersect_key($array1, $array2)); | ||
+ | ?> | ||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
نتيجة المثال السابق:<syntaxhighlight lang="php"> | نتيجة المثال السابق:<syntaxhighlight lang="php"> | ||
array(2) { | array(2) { | ||
+ | ["blue"]=> | ||
+ | int(1) | ||
+ | ["green"]=> | ||
+ | int(3) | ||
+ | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
− | في هذا المثال، سترى أن فقط المفاتيح "blue" و "green" موجودة في كلتي المصفوفتين ولذلك أعادتهما الدالة. لاحظ أيضًا أن القيم المرتبطة مع المفاتيح "blue" و "green" مختلفة بين المصفوفتين. ما يزال هناك تطابق مع ذلك لأن الدالة تقارن باستخدام المفاتيح فقط. وتكون القيم المعادة هي تلك الموجودة بالمصفوفة array1. | + | في هذا المثال، سترى أن فقط المفاتيح <code>"blue"</code> و <code>"green"</code> موجودة في كلتي المصفوفتين ولذلك أعادتهما الدالة. لاحظ أيضًا أن القيم المرتبطة مع المفاتيح <code>"blue"</code> و <code>"green"</code> مختلفة بين المصفوفتين. ما يزال هناك تطابق مع ذلك لأن الدالة تقارن باستخدام المفاتيح فقط. وتكون القيم المعادة هي تلك الموجودة بالمصفوفة <code>array1</code>. |
− | يعد مفتاحا زوجي المفاتيح والقيم متساويان إذا وفقط إذا كان (string)$elem1 === (string)$elem2. بكلمات أخرى، إذا كان التمثيل النصي لهما متماثلًا تمامًا. | + | يعد مفتاحا زوجي المفاتيح والقيم متساويان إذا وفقط إذا كان <code>(string) $elem1 === (string) $elem2</code>. بكلمات أخرى، إذا كان التمثيل النصي لهما متماثلًا تمامًا. |
== انظر أيضًا == | == انظر أيضًا == | ||
− | * الدالة array_diff(): تحسب الفرق بين المصفوفات. | + | * الدالة <code>[[PHP/array_diff|array_diff()]]</code>: تحسب الفرق بين المصفوفات. |
− | * الدالة array_udiff(): تحسب الفرق بين المصفوفات باستخدام دالة يحددها المستخدم للمقارنة بين البيانات. | + | * الدالة <code>[[PHP/array_udiff|array_udiff()]]</code>: تحسب الفرق بين المصفوفات باستخدام دالة يحددها المستخدم للمقارنة بين البيانات. |
− | * الدالة array_diff_assoc(): تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس. | + | * الدالة <code>[[PHP/array_diff_assoc|array_diff_assoc()]]</code>: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس. |
− | * الدالة array_diff_uassoc(): تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس عن طريق تنفيذ دالة يحددها المستخدم. | + | * الدالة <code>[[PHP/array_diff_uassoc|array_diff_uassoc()]]</code>: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس عن طريق تنفيذ دالة يحددها المستخدم. |
− | * الدالة | + | * الدالة <code>[[PHP/array_udiff_assoc|array_udiff_assoc()]]</code>: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس وتقارن البيانات باستخدام دالة يحددها المستخدم. |
− | * الدالة array_udiff_uassoc(): تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس وتقارن البيانات والفهارس باستخدام دالة يحددها المستخدم. | + | * الدالة <code>[[PHP/array_udiff_uassoc|array_udiff_uassoc()]]</code>: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس وتقارن البيانات والفهارس باستخدام دالة يحددها المستخدم. |
− | * الدالة array_diff_key(): تحسب الفرق بين المصفوفات باستخدام المفاتيح للمقارنة. | + | * الدالة <code>[[PHP/array_diff_key|array_diff_key()]]</code>: تحسب الفرق بين المصفوفات باستخدام المفاتيح للمقارنة. |
− | * الدالة array_diff_ukey(): تحسب الفرق بين المصفوفات باستخدام دالة يحددها المستخدم لمقارنة المفاتيح. | + | * الدالة <code>[[PHP/array_diff_ukey|array_diff_ukey()]]</code>: تحسب الفرق بين المصفوفات باستخدام دالة يحددها المستخدم لمقارنة المفاتيح. |
− | * الدالة array_intersect(): تحسب التقاطع بين المصفوفات. | + | * الدالة <code>[[PHP/array_intersect|array_intersect()]]</code>: تحسب التقاطع بين المصفوفات. |
− | * الدالة array_intersect_assoc(): تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي للفهارس. | + | * الدالة <code>[[PHP/array_intersect_assoc|array_intersect_assoc()]]</code>: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي للفهارس. |
− | * الدالة array_intersect_uassoc(): تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي من الفهارس، كما أنها تقارن الفهارس باستخدام دالة يحددها المستخدم. | + | * الدالة <code>[[PHP/array_intersect_uassoc|array_intersect_uassoc()]]</code>: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي من الفهارس، كما أنها تقارن الفهارس باستخدام دالة يحددها المستخدم. |
− | * الدالة array_intersect_ukey(): تحسب التقاطع بين المصفوفات باستخدام دالة يحددها المستخدم لمقارنة المفاتيح. | + | * الدالة <code>[[PHP/array_intersect_ukey|array_intersect_ukey()]]</code>: تحسب التقاطع بين المصفوفات باستخدام دالة يحددها المستخدم لمقارنة المفاتيح. |
== مصادر == | == مصادر == |
المراجعة الحالية بتاريخ 03:49، 4 أبريل 2018
(PHP 5 >= 5.1.0, PHP 7)
تحسب الدالة array_intersect_key()
التقاطع (intersection) بين المصفوفات باستخدام المفاتيح للمقارنة.
الوصف
array array_intersect_key ( array $array1 , array $array2 [, array $... ] )
تعيد الدالة كل عناصر المصفوفة array1
الموجودة مفاتيحها بكل المصفوفات الأخرى.
المعاملات
array1
مصفوفة العناصر التي ستتحقق الدالة منها.
array2
مصفوفة العناصر التي ستقارن بها الدالة.
…
مجموعة متغيرة من المصفوفات التي ستقارن الدالة بها.
القيم المعادة
تعيد مصفوفة مرتبطة تحتوي على كل عناصر المصفوفة array1
الموجودة مفاتيحها بكل المصفوفات الأخرى.
أمثلة
المثال 1: مثال بسيط عن الدالة array_intersect_key()
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
var_dump(array_intersect_key($array1, $array2));
?>
نتيجة المثال السابق:
array(2) {
["blue"]=>
int(1)
["green"]=>
int(3)
}
في هذا المثال، سترى أن فقط المفاتيح "blue"
و "green"
موجودة في كلتي المصفوفتين ولذلك أعادتهما الدالة. لاحظ أيضًا أن القيم المرتبطة مع المفاتيح "blue"
و "green"
مختلفة بين المصفوفتين. ما يزال هناك تطابق مع ذلك لأن الدالة تقارن باستخدام المفاتيح فقط. وتكون القيم المعادة هي تلك الموجودة بالمصفوفة array1
.
يعد مفتاحا زوجي المفاتيح والقيم متساويان إذا وفقط إذا كان (string) $elem1 === (string) $elem2
. بكلمات أخرى، إذا كان التمثيل النصي لهما متماثلًا تمامًا.
انظر أيضًا
- الدالة
array_diff()
: تحسب الفرق بين المصفوفات. - الدالة
array_udiff()
: تحسب الفرق بين المصفوفات باستخدام دالة يحددها المستخدم للمقارنة بين البيانات. - الدالة
array_diff_assoc()
: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس. - الدالة
array_diff_uassoc()
: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس عن طريق تنفيذ دالة يحددها المستخدم. - الدالة
array_udiff_assoc()
: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس وتقارن البيانات باستخدام دالة يحددها المستخدم. - الدالة
array_udiff_uassoc()
: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس وتقارن البيانات والفهارس باستخدام دالة يحددها المستخدم. - الدالة
array_diff_key()
: تحسب الفرق بين المصفوفات باستخدام المفاتيح للمقارنة. - الدالة
array_diff_ukey()
: تحسب الفرق بين المصفوفات باستخدام دالة يحددها المستخدم لمقارنة المفاتيح. - الدالة
array_intersect()
: تحسب التقاطع بين المصفوفات. - الدالة
array_intersect_assoc()
: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي للفهارس. - الدالة
array_intersect_uassoc()
: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي من الفهارس، كما أنها تقارن الفهارس باستخدام دالة يحددها المستخدم. - الدالة
array_intersect_ukey()
: تحسب التقاطع بين المصفوفات باستخدام دالة يحددها المستخدم لمقارنة المفاتيح.