الفرق بين المراجعتين ل"PHP/array diff key"
Ibrahem-atef (نقاش | مساهمات) (إنشاء صفحة جديدة) |
ط (نقل عبد اللطيف ايمش صفحة PHP/Function/array-diff-key إلى PHP/array diff key: إعادة هيكلة التوثيق) |
||
(6 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
− | + | <noinclude>{{DISPLAYTITLE:<code>array_diff_key()</code>}}</noinclude> | |
+ | (PHP 5 >= 5.1.0, PHP 7) | ||
− | + | تحسب الدالة <code>array_diff_key()</code> الفرق بين عدة مصفوفات باستخدام المفاتيح للمقارنة. | |
− | تحسب الدالة array_diff_key() الفرق بين عدة مصفوفات باستخدام المفاتيح للمقارنة. | ||
== الوصف == | == الوصف == | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
array array_diff_key ( array $array1 , array $array2 [, array $... ] ) | array array_diff_key ( array $array1 , array $array2 [, array $... ] ) | ||
− | </syntaxhighlight>تقارن الدالة مفاتيح المصفوفات المُمَرََرة كمعاملات وتعيد الفرق بينها. هذه الدالة تشبه دالة array_diff إلا أنها تقارن باستخدام المفاتيح وليس القيم. | + | </syntaxhighlight>تقارن الدالة مفاتيح المصفوفات المُمَرََرة كمعاملات وتعيد الفرق بينها. هذه الدالة تشبه دالة <code>[[PHP/array_diff|array_diff()]]</code> إلا أنها تقارن باستخدام المفاتيح وليس القيم. |
== المعاملات == | == المعاملات == | ||
− | |||
+ | === <code>array1</code> === | ||
المصفوفة التي ستقارن الدالة منها. | المصفوفة التي ستقارن الدالة منها. | ||
− | array2 | + | === <code>array2</code> === |
− | |||
المصفوفة التي ستقارن الدالة بها. | المصفوفة التي ستقارن الدالة بها. | ||
− | … | + | === <code>…</code> === |
− | |||
مزيد من المصفوفات لتقارن الدالة بها. | مزيد من المصفوفات لتقارن الدالة بها. | ||
سطر 26: | سطر 24: | ||
== أمثلة == | == أمثلة == | ||
− | المثال 1: مثال بسيط عن الدالة array_diff_key() | + | المثال 1: مثال بسيط عن الدالة <code>array_diff_key()</code> |
− | يعدّ زوجان من المفاتيح والقيم متماثلان فقط إذا كان (string) $key1 === (string) $key2. بكلمات أخرى، تستخدم الدالة المقارنة الصارمة لمقارنة القيم ولذلك يجب أن يكون التمثيل النصي للقيم متماثلًا تمامًا.<syntaxhighlight lang="php"> | + | يعدّ زوجان من المفاتيح والقيم متماثلان فقط إذا كان <code>(string) $key1 === (string) $key2</code>. بكلمات أخرى، تستخدم الدالة المقارنة الصارمة لمقارنة القيم ولذلك يجب أن يكون التمثيل النصي للقيم متماثلًا تمامًا.<syntaxhighlight lang="php"> |
<?php | <?php | ||
− | |||
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4); | $array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4); | ||
− | |||
$array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8); | $array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8); | ||
var_dump(array_diff_key($array1, $array2)); | var_dump(array_diff_key($array1, $array2)); | ||
+ | ?> | ||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
− | نتيجة المثال السابق:<syntaxhighlight lang=" | + | نتيجة المثال السابق:<syntaxhighlight lang="text"> |
array(3) { | array(3) { | ||
− | + | ["blue"]=> | |
− | + | int(1) | |
− | + | ["red"]=> | |
− | + | int(2) | |
− | + | ["purple"]=> | |
− | + | int(4) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | المثال 2: مثال بسيط آخر عن الدالة array_diff_key()<syntaxhighlight lang="php"> | + | المثال 2: مثال بسيط آخر عن الدالة <code>array_diff_key()</code><syntaxhighlight lang="php"> |
+ | |||
<?php | <?php | ||
− | + | $array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4); | |
− | $array1 = array('blue' => 1, 'red' | ||
− | |||
$array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8); | $array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8); | ||
− | |||
$array3 = array('blue' => 6, 'yellow' => 7, 'mauve' => 8); | $array3 = array('blue' => 6, 'yellow' => 7, 'mauve' => 8); | ||
var_dump(array_diff_key($array1, $array2, $array3)); | var_dump(array_diff_key($array1, $array2, $array3)); | ||
+ | ?> | ||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
− | نتيجة المثال السابق:<syntaxhighlight lang=" | + | نتيجة المثال السابق:<syntaxhighlight lang="text"> |
− | |||
− | |||
− | + | array(2) { | |
− | + | ["red"]=> | |
− | + | int(2) | |
+ | ["purple"]=> | ||
+ | int(4) | ||
+ | } | ||
− | |||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
− | == | + | == ملاحظات == |
− | + | تتحقق هذه الدالة من بعد واحد فقط للمصفوفات متعددة الأبعاد. بالطبع يمكنك التحقق من أبعاد أعمق باستخدام <code>array_diff_key($array1[0], $array2[0])</code> على سبيل المثال. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | == انظر أيضًا == |
− | + | * الدالة <code>[[PHP/array_udiff|array_udiff()]]</code>: تحسب الاختلاف بين المصفوفات باستخدام دالة يحددها المستخدم. | |
+ | * الدالة <code>[[PHP/array_diff|array_diff()]]</code>: تحسب الفرق بين المصفوفات. | ||
+ | * الدالة <code>[[PHP/array_diff_assoc|array_diff_assoc()]]</code>: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس. | ||
+ | * الدالة <code>[[PHP/array_diff_uassoc|array_diff_uassoc()]]</code>: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس عن طريق تنفيذ دالة يحددها المستخدم. | ||
+ | * الدالة <code>[[PHP/array_udiff_assoc|array_udiff_assoc()]]</code>: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس وتقارن البيانات باستخدام دالة يحددها المستخدم. | ||
+ | * الدالة <code>[[PHP/array_udiff_uassoc|array_udiff_uassoc()]]</code>: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس وتقارن البيانات والفهارس باستخدام دالة يحددها المستخدم. | ||
+ | * الدالة <code>[[PHP/array_intersect|array_intersect()]]</code>: تحسب التقاطع بين المصفوفات. | ||
+ | * الدالة <code>[[PHP/array_intersect_assoc|array_intersect_assoc()]]</code>: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي للفهارس. | ||
+ | * الدالة <code>[[PHP/array_uintersect_assoc|array_uintersect_assoc()]]</code>: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي للفهارس، وتستخدم دالة يحددها المستخدم لتقارن بين البيانات. | ||
+ | * الدالة <code>[[PHP/array_intersect_uassoc|array_intersect_uassoc()]]</code>: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي من الفهارس، كما أنها تقارن الفهارس باستخدام دالة يحددها المستخدم. | ||
+ | * الدالة <code>[[PHP/array_intersect_key|array_intersect_key()]]</code>: تحسب التقاطع بين المصفوفات باستخدام المفاتيح في المقارنة. | ||
+ | * الدالة <code>[[PHP/array_intersect_ukey|array_intersect_ukey()]]</code>: تحسب التقاطع بين المصفوفات باستخدام دالة يحددها المستخدم لمقارنة المفاتيح. | ||
== مصادر == | == مصادر == | ||
* [http://php.net/manual/en/function.array-diff-key.php صفحة الدالة array_diff_key في توثيق PHP الرسمي.] | * [http://php.net/manual/en/function.array-diff-key.php صفحة الدالة array_diff_key في توثيق PHP الرسمي.] | ||
+ | [[تصنيف:PHP]] | ||
+ | [[تصنيف:PHP Function]] | ||
+ | [[تصنيف:PHP Array]] |
المراجعة الحالية بتاريخ 03:49، 4 أبريل 2018
(PHP 5 >= 5.1.0, PHP 7)
تحسب الدالة array_diff_key()
الفرق بين عدة مصفوفات باستخدام المفاتيح للمقارنة.
الوصف
array array_diff_key ( array $array1 , array $array2 [, array $... ] )
تقارن الدالة مفاتيح المصفوفات المُمَرََرة كمعاملات وتعيد الفرق بينها. هذه الدالة تشبه دالة array_diff()
إلا أنها تقارن باستخدام المفاتيح وليس القيم.
المعاملات
array1
المصفوفة التي ستقارن الدالة منها.
array2
المصفوفة التي ستقارن الدالة بها.
…
مزيد من المصفوفات لتقارن الدالة بها.
القيم المعادة
تعيد الدالة مصفوفةً جديدةً من القيم الموجودة بالمصفوفة الأولى التي تكون مفاتيحها غير موجودة بأي من المصفوفات الأخرى.
أمثلة
المثال 1: مثال بسيط عن الدالة array_diff_key()
يعدّ زوجان من المفاتيح والقيم متماثلان فقط إذا كان (string) $key1 === (string) $key2
. بكلمات أخرى، تستخدم الدالة المقارنة الصارمة لمقارنة القيم ولذلك يجب أن يكون التمثيل النصي للقيم متماثلًا تمامًا.
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8);
var_dump(array_diff_key($array1, $array2));
?>
نتيجة المثال السابق:
array(3) {
["blue"]=>
int(1)
["red"]=>
int(2)
["purple"]=>
int(4)
}
المثال 2: مثال بسيط آخر عن الدالة array_diff_key()
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8);
$array3 = array('blue' => 6, 'yellow' => 7, 'mauve' => 8);
var_dump(array_diff_key($array1, $array2, $array3));
?>
نتيجة المثال السابق:
array(2) {
["red"]=>
int(2)
["purple"]=>
int(4)
}
ملاحظات
تتحقق هذه الدالة من بعد واحد فقط للمصفوفات متعددة الأبعاد. بالطبع يمكنك التحقق من أبعاد أعمق باستخدام array_diff_key($array1[0], $array2[0])
على سبيل المثال.
انظر أيضًا
- الدالة
array_udiff()
: تحسب الاختلاف بين المصفوفات باستخدام دالة يحددها المستخدم. - الدالة
array_diff()
: تحسب الفرق بين المصفوفات. - الدالة
array_diff_assoc()
: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس. - الدالة
array_diff_uassoc()
: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس عن طريق تنفيذ دالة يحددها المستخدم. - الدالة
array_udiff_assoc()
: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس وتقارن البيانات باستخدام دالة يحددها المستخدم. - الدالة
array_udiff_uassoc()
: تحسب الفرق بين المصفوفات مع استخدام تحقق إضافي من الفهارس وتقارن البيانات والفهارس باستخدام دالة يحددها المستخدم. - الدالة
array_intersect()
: تحسب التقاطع بين المصفوفات. - الدالة
array_intersect_assoc()
: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي للفهارس. - الدالة
array_uintersect_assoc()
: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي للفهارس، وتستخدم دالة يحددها المستخدم لتقارن بين البيانات. - الدالة
array_intersect_uassoc()
: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي من الفهارس، كما أنها تقارن الفهارس باستخدام دالة يحددها المستخدم. - الدالة
array_intersect_key()
: تحسب التقاطع بين المصفوفات باستخدام المفاتيح في المقارنة. - الدالة
array_intersect_ukey()
: تحسب التقاطع بين المصفوفات باستخدام دالة يحددها المستخدم لمقارنة المفاتيح.