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

من موسوعة حسوب
< PHP

(PHP 4, PHP 5, PHP 7)

تنشئ الدالة compact()‎ مصفوفة تحتوي على متغيرات وقيمها.

الوصف

array compact ( mixed $varname1 [, mixed $... ] )

تنشئ هذه الدالة مصفوفةً تحتوي على متغيرات وقيمها.

لكل من هذه المعاملات، تبحث الدالة compact()‎ عن متغير بهذا الاسم في جدول الرموز (symbol table) الحالي وتضيفه إلى المصفوفة المُخرَجة بحيث يصبح اسم المتغير هو المفتاح وتصبح محتويات المتغير قيمة ذلك المفتاح. باختصار، تعمل هذه الدالة بعكس الدالة extract()‎.

وتتخطى الدالة أية سلاسل نصية (string) لم تُضبَط قيمتها.

المعاملات

varname1

تأخذ الدالة compact()‎ عددًا متغيرًا من المعاملات. يمكن أن يكون كل معامل عبارة عن سلسلة نصية (string) تحتوي على اسم المتغير أو مصفوفة من أسماء المتغيرات. كما يمكن أن تحتوي المصفوفة على مصفوفات أخرى من أسماء المتغيرات بداخلها؛ في هذه الحالة تعالجها الدالة compact()‎ تكراريًا (recursively).

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

تُعيد الدالة compact()‎ المصفوفة المُخرجة مع إضافة كافة المتغيرات إليها.

أمثلة

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

<?php
$city  = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";

$location_vars = array("city", "state");

$result = compact("event", "nothing_here", $location_vars);
print_r($result);
?>

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

Array
(
    [event] => SIGGRAPH
    [city] => San Francisco
    [state] => CA
)

ملاحظات

ملاحظة: نظرًا لعدم استخدام المتغيرات المتغيرة مع المصفوفات ذوات النطاق العام العالي Superglobal في الدوال من PHP، فلا يسمح بتمرير مصفوفات Superglobal إلى الدالة compact()‎‎.

انظر أيضًا

  • الدالة extract()‎: استيراد متغيرات في جدول الرموز الحالي من مصفوفة.

مصادر