تحويل JSON إلى مصفوفة PHP

الصق مستند JSON لتحصل على مصفوفة PHP نصية منسّقة لملف مصدر .php: صيغة المصفوفات المختصرة ([...])، مسافات بادئة صحيحة، سلاسل نصية محاطة بعلامات اقتباس بشكل سليم، كائنات متداخلة تتحول إلى مصفوفات ترابطية، ومصفوفات تبقى مفهرسة. مفيد لتضمين بيانات API التجريبية في الاختبارات أو لتعبئة ملفات الإعداد.

كيفية تحويل JSON إلى PHP

  1. 1

    الصق JSON

    أي JSON صالح: كائنات، مصفوفات، أو بنى متداخلة بعمق.

  2. 2

    اختر الصيغة

    المختصرة `[...]` (PHP 5.4 فأحدث) أو الطويلة `array(...)` (نادراً ما تلزم الآن).

  3. 3

    اختر علامات اقتباس السلاسل

    علامات اقتباس مفردة (بدون استيفاء، مع تهريب الفواصل العليا) أو علامات اقتباس مزدوجة (تسمح باستيفاء `$`: عادةً ليس ما تريده للبيانات).

  4. 4

    انسخ المصفوفة

    الصقها في ملف `.php`، أو أسندها إلى `return`، أو غلّفها بـ `config([...])`.

مثال

المدخل:

{ "app": { "name": "Hyperion", "debug": true, "hosts": ["h1.example.com", "h2.example.com"] } }

الناتج (صيغة مختصرة، علامات اقتباس مفردة):

[
    'app' => [
        'name' => 'Hyperion',
        'debug' => true,
        'hosts' => [
            'h1.example.com',
            'h2.example.com',
        ],
    ],
]

تعيين الأنواع

JSON PHP
سلسلة نصية سلسلة نصية (اقتباس مفرد)
عدد صحيح int
عدد (عشري) float
قيمة منطقية true / false
null null
مصفوفة (JSON) مصفوفة مفهرسة
كائن (JSON) مصفوفة ترابطية

متى تستخدم المصفوفة الترابطية مقابل المفهرسة

في PHP يوجد نوع واحد من المصفوفات يجمع كلا السلوكين. أما JSON فيميّز بوضوح بين الكائن والمصفوفة، ومن ثم يكون التعيين كالتالي:

  • {} → مصفوفة ترابطية (['key' => value]).
  • [] → مصفوفة مفهرسة ([value, value]).

يحافظ المولّد دائماً على هذا التمييز؛ وخلط الاثنين في PHP جائز لكنه مربك.

مزالق خاصة بـ PHP

  • مفاتيح السلاسل الرقمية. يحوّل PHP القيمة "42" إلى مفتاح صحيح 42 داخل المصفوفة. إذا كان JSON لديك يستخدم سلاسل رقمية كمفاتيح وتحتاج إلى إبقائها سلاسل نصية، فإن التحويل ذهاباً وإياباً عبر array_combine لن يحافظ عليها.
  • الأعداد الصحيحة الكبيرة. يمكن لـ JSON أن يحتوي أعداداً صحيحة أكبر من PHP_INT_MAX في الأنظمة ذات 32 بت. ينبّه المولّد عندما يكون ذلك ممكناً.
  • UTF-8. سلاسل PHP هي تسلسلات بايتات؛ والمولّد يُخرج UTF-8 حرفياً. تأكد من حفظ ملف .php بترميز UTF-8 دون BOM.

حالات الاستخدام

  • ملفات الإعداد. يستخدم كل من Laravel وSymfony إعدادات على هيئة مصفوفات PHP. ونقل إعداد JSON بأسلوب المورّدين يعمل جيداً.
  • بيانات الاختبار التجريبية. تكون بيانات PHPUnit التجريبية أنظف كمصفوفات مقارنةً بملفات JSON التي تُحمّل وقت التشغيل.
  • البذور (Seeders). غالباً ما تبدأ بذور قواعد البيانات في Laravel كتفريغ JSON ثم تتحول إلى مصفوفات PHP.

أخطاء شائعة

  • إعادة تحويل مصفوفات PHP إلى JSON. يعامل json_encode المصفوفة الترابطية ككائن والمصفوفة المفهرسة كمصفوفة. وإذا خلطت بينهما (['key' => 'val', 0 => 'x'])، فستحصل على كائن عند الإخراج. أبقِ المصفوفات ذات الشكل الشبيه بـ JSON على هذا الشكل.
  • علامات الاقتباس المزدوجة مع الفواصل العليا. تتطلب سلاسل PHP ذات الاقتباس المفرد تهريب \'؛ وتتطلب السلاسل ذات الاقتباس المزدوج تهريب \\"، وقد تُستوفى المتغيرات عن غير قصد إن لم تنتبه. استخدم الاقتباس المفرد للبيانات.
  • نسيان الفواصل الأخيرة. يسمح بها PHP منذ الإصدار 7.3 وتجعل الفروقات (diff) أوضح. يضيفها المولّد افتراضياً.

الأسئلة الشائعة

الصيغة المختصرة ([...]) متاحة منذ PHP 5.4 وهي الخيار المتعارف عليه لكل الكود الحديث. أما الصيغة الطويلة (array(...)) فتلزم فقط للكود الذي يجب أن يعمل على PHP 5.3 أو أقدم، أي الأنظمة القديمة أساساً.

نعم. ملفات إعداد Laravel هي مصفوفات PHP عادية تُعاد من ملف. الصق ناتج المولّد بعد return واحفظه في config/.

لا تستوفي سلاسل PHP ذات الاقتباس المفرد المتغيرات ولا تسلسلات التهريب (باستثناء \' و\\). وهذا أسرع وأكثر أماناً لقيم البيانات النصية. أما الاقتباس المزدوج فمهم فقط عندما تريد \n أو \t أو $variable داخل السلسلة.

لا، إنها تُخرج مصفوفة نصية. غلّفها بنفسك بـ return أو const أو خاصية صنف حسب الحاجة. إبقاء الناتج صغيراً يجعله سهل التركيب.

أدوات ذات صلة

مرجع جدول ASCII

جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.

مرجع أحرف HTML

قائمة قابلة للبحث بكيانات HTML، مع رموزها المسمّاة والرقمية، بالإضافة إلى خيار النسخ بنقرة واحدة للأحرف والرموز الخاصة.

مرجع اختصارات لوحة المفاتيح

ابحث في الاختصارات الافتراضية الموثقة لـ VS Code وChrome وBash مع GNU Readline على macOS وWindows وLinux.

مولد EditorConfig

أنشئ ملف .editorconfig بقواعد نمط المسافة البادئة وحجمها ونهاية السطر ومجموعة الأحرف والمسافات البيضاء، لتنسيق موحّد عبر بيئات التطوير المتكاملة (IDEs) والمحررات.

مدقق البريد الإلكتروني

تحقق من عنوان بريد إلكتروني: فحص صياغة RFC 5322، واستعلام حي عن سجل MX، بالإضافة إلى تفاصيل الجزء المحلي والنطاق والطول. لا يتم إرسال أي بريد.

ورقة مرجعية سريعة لـ Markdown

مرجع Markdown عملي مع معاينات فعلية وأمثلة جاهزة للنسخ للعناوين والقوائم والجداول والكود والروابط والصور وصياغة GFM.

الأداة متاحة بلغات أخرى