تحويل JSON إلى مصفوفة PHP
الصق مستند JSON لتحصل على مصفوفة PHP نصية منسّقة لملف مصدر .php: صيغة المصفوفات المختصرة ([...])، مسافات بادئة صحيحة، سلاسل نصية محاطة بعلامات اقتباس بشكل سليم، كائنات متداخلة تتحول إلى مصفوفات ترابطية، ومصفوفات تبقى مفهرسة. مفيد لتضمين بيانات API التجريبية في الاختبارات أو لتعبئة ملفات الإعداد.
كيفية تحويل JSON إلى PHP
-
1
الصق JSON
أي JSON صالح: كائنات، مصفوفات، أو بنى متداخلة بعمق.
-
2
اختر الصيغة
المختصرة `[...]` (PHP 5.4 فأحدث) أو الطويلة `array(...)` (نادراً ما تلزم الآن).
-
3
اختر علامات اقتباس السلاسل
علامات اقتباس مفردة (بدون استيفاء، مع تهريب الفواصل العليا) أو علامات اقتباس مزدوجة (تسمح باستيفاء `$`: عادةً ليس ما تريده للبيانات).
-
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.
الأداة متاحة بلغات أخرى
- JSON zu PHP-Array [DE]
- JSON ke Array PHP [ID]
- JSON do tablicy PHP [PL]
- JSON เป็น PHP Array [TH]
- JSON sang mảng PHP [VI]
- JSON para Array PHP [PT]
- JSONからPHP配列へ [JA]
- JSON till PHP-array [SV]
- JSON a Array de PHP [ES]
- JSON을 PHP 배열로 변환 [KO]
- JSON vers tableau PHP [FR]
- JSON naar PHP-array [NL]
- JSON to PHP Array [EN]
- JSON in array PHP [IT]
- JSON в массив PHP [RU]
- JSON'dan PHP dizisine [TR]
- 从 JSON 到 PHP 数组 [ZH]