الفرق بين المراجعتين ل"PHP/array intersect ukey"

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث
ط (إضافة عنوان الصفحة والتصنيفات)
ط (نقل عبد اللطيف ايمش صفحة PHP/Function/array-intersect-ukey إلى PHP/array intersect ukey: إعادة هيكلة التوثيق)
 
(4 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 2: سطر 2:
 
(PHP 5 >= 5.1.0, PHP 7)
 
(PHP 5 >= 5.1.0, PHP 7)
  
تحسب الدالة array_intersect_ukey()‎ التقاطع (intersection) بين المصفوفات باستخدام دالة يحددها المستخدم لمقارنة المفاتيح.
+
تحسب الدالة <code>array_intersect_ukey()‎</code> التقاطع (intersection) بين المصفوفات باستخدام دالة يحددها المستخدم لمقارنة المفاتيح.
  
 
== الوصف ==
 
== الوصف ==
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
 
array array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )
 
array array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )
</syntaxhighlight>تعيد الدالة كل عناصر المصفوفة array1 التي تحتوي على مفاتيح تطابقها الدالة key_compare_func بكل مفاتيح المصفوفات الأخرى.
+
</syntaxhighlight>تعيد الدالة كل عناصر المصفوفة <code>array1</code> التي تحتوي على مفاتيح تطابقها الدالة <code>key_compare_func</code> بكل مفاتيح المصفوفات الأخرى.
  
 
== المعاملات ==
 
== المعاملات ==
array1
 
  
 +
=== <code>array1</code> ===
 
مصفوفة العناصر التي ستتحقق الدالة منها.
 
مصفوفة العناصر التي ستتحقق الدالة منها.
  
array2
+
=== <code>array2</code> ===
 
 
 
مصفوفة العناصر التي ستقارن بها الدالة.
 
مصفوفة العناصر التي ستقارن بها الدالة.
  
+
=== <code></code> ===
 
 
 
مجموعة متغيرة من المصفوفات التي ستقارن الدالة بها.
 
مجموعة متغيرة من المصفوفات التي ستقارن الدالة بها.
  
key_compare_func
+
=== <code>key_compare_func</code> ===
 
 
 
يجب أن تعيد دالة المقارنة عددًا صحيحًا يكون أصغر أو يساوي أو أكبر من الصفر إذا كان المعامل الأول أصغر أو مساويًا أو أكبر من المعامل الثاني على التوالي وبالترتيب. لاحظ أنه قبل إصدار 7.0.0 من لغة PHP توجب على هذا العدد الصحيح أن يكون في المجال من ‎-2147483648 إلى 2147483648.<syntaxhighlight lang="php">
 
يجب أن تعيد دالة المقارنة عددًا صحيحًا يكون أصغر أو يساوي أو أكبر من الصفر إذا كان المعامل الأول أصغر أو مساويًا أو أكبر من المعامل الثاني على التوالي وبالترتيب. لاحظ أنه قبل إصدار 7.0.0 من لغة PHP توجب على هذا العدد الصحيح أن يكون في المجال من ‎-2147483648 إلى 2147483648.<syntaxhighlight lang="php">
 
int callback ( mixed $a, mixed $b )
 
int callback ( mixed $a, mixed $b )
سطر 29: سطر 26:
  
 
== القيم المعادة ==
 
== القيم المعادة ==
تعيد مصفوفة تحتوي على كل عناصر المصفوفة array1 الموجودة مفاتيحها بكل المصفوفات الأخرى.
+
تعيد مصفوفة تحتوي على كل عناصر المصفوفة <code>array1</code> الموجودة مفاتيحها بكل المصفوفات الأخرى.
  
 
== أمثلة ==
 
== أمثلة ==
المثال 1: مثال بسيط عن الدالة array_intersect_ukey()‎<syntaxhighlight lang="php">
+
المثال 1: مثال بسيط عن الدالة <code>array_intersect_ukey()</code>‎<syntaxhighlight lang="php">
 +
 
 
<?php
 
<?php
 
 
function key_compare_func($key1, $key2)
 
function key_compare_func($key1, $key2)
 
 
{
 
{
 
+
    if ($key1 == $key2)
   if ($key1 == $key2)
+
        return 0;
 
+
    else if ($key1 > $key2)
       return 0;
+
        return 1;
 
+
    else
   else if ($key1 > $key2)
+
        return -1;
 
 
       return 1;
 
 
 
   else
 
 
 
       return -1;
 
 
 
 
}
 
}
  
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
+
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
 
+
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);
 
  
 
var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
 
var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
 +
?>
  
?>
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
نتيجة المثال السابق:<syntaxhighlight lang="php">
 
نتيجة المثال السابق:<syntaxhighlight lang="php">
array(2) {
 
  
 ["blue"]=>
 
  
 int(1)
+
array(2) {
 +
  ["blue"]=>
 +
  int(1)
 +
  ["green"]=>
 +
  int(3)
 +
}
  
 ["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>.
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* الدالة 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>: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس عن طريق تنفيذ دالة يحددها المستخدم.
* الدالة array_udiff_assoc()‎: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس وتقارن البيانات باستخدام دالة يحددها المستخدم.
+
* الدالة <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_key()‎: تحسب التقاطع بين المصفوفات باستخدام المفاتيح للمقارنة.
+
* الدالة <code>[[PHP/array_intersect_key|array_intersect_key()‎]]</code>: تحسب التقاطع بين المصفوفات باستخدام المفاتيح للمقارنة.
  
 
== مصادر ==
 
== مصادر ==

المراجعة الحالية بتاريخ 03:49، 4 أبريل 2018

(PHP 5 >= 5.1.0, PHP 7)

تحسب الدالة array_intersect_ukey()‎ التقاطع (intersection) بين المصفوفات باستخدام دالة يحددها المستخدم لمقارنة المفاتيح.

الوصف

array array_intersect_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )

تعيد الدالة كل عناصر المصفوفة array1 التي تحتوي على مفاتيح تطابقها الدالة key_compare_func بكل مفاتيح المصفوفات الأخرى.

المعاملات

array1

مصفوفة العناصر التي ستتحقق الدالة منها.

array2

مصفوفة العناصر التي ستقارن بها الدالة.

مجموعة متغيرة من المصفوفات التي ستقارن الدالة بها.

key_compare_func

يجب أن تعيد دالة المقارنة عددًا صحيحًا يكون أصغر أو يساوي أو أكبر من الصفر إذا كان المعامل الأول أصغر أو مساويًا أو أكبر من المعامل الثاني على التوالي وبالترتيب. لاحظ أنه قبل إصدار 7.0.0 من لغة PHP توجب على هذا العدد الصحيح أن يكون في المجال من ‎-2147483648 إلى 2147483648.

int callback ( mixed $a, mixed $b )

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

تعيد مصفوفة تحتوي على كل عناصر المصفوفة array1 الموجودة مفاتيحها بكل المصفوفات الأخرى.

أمثلة

المثال 1: مثال بسيط عن الدالة array_intersect_ukey()

<?php
function key_compare_func($key1, $key2)
{
    if ($key1 == $key2)
        return 0;
    else if ($key1 > $key2)
        return 1;
    else
        return -1;
}

$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);

var_dump(array_intersect_ukey($array1, $array2, 'key_compare_func'));
?>

نتيجة المثال السابق:

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

في هذا المثال، سترى أن فقط المفاتيح "blue" و "green" موجودة في كلتي المصفوفتين ولذلك أعادتهما الدالة. لاحظ أيضاً أن القيم المرتبطة مع المفاتيح "blue" و "green" مختلفة بين المصفوفتين. ما يزال هناك تطابق مع ذلك لأن الدالة تقارن باستخدام المفاتيح فقط. وتكون القيم المعادة هي تلك الموجودة بالمصفوفة array1.

انظر أيضًا

  • الدالة 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_key()‎: تحسب التقاطع بين المصفوفات باستخدام المفاتيح للمقارنة.

مصادر