Command Palette

Search for a command to run...

JSON إلى المصفوفة في PHP: json_decode أم حرفي؟

JSON إلى المصفوفة في PHP: json_decode أم حرفي؟

T
Toolz Team
|Aug 31, 2026|15 دقيقة قراءة
تفضل Toolz.dev على Google

جزء من مجموعة أدوات البيانات

JSON إلى مصفوفة PHP

تحويل JSON إلى مصفوفة PHP حرفية. اختر بناء جملة قصير [] أو مصفوفة ()، ومسافة بادئة، وتعيين متغير اختياري، ثم انسخ النتيجة. يعمل من جانب العميل.

استخدم JSON إلى مصفوفة PHP

لقد كتبت PHP أكثر من أي لغة أخرى، أولاً كمطور للمكونات الإضافية WordPress ثم قمت لاحقًا ببناء واجهات SaaS الخلفية في Laravel، وهناك عمل روتيني صغير يأتي باستمرار وقد سئمت من القيام به يدويًا. لديك نقطة JSON، وعينة تكوين، واستجابة API، وتركيب، وتحتاج إليها كمصفوفة PHP في كود المصدر الخاص بك. لم يتم فك تشفيرها في وقت التشغيل، بل تمت كتابتها فعليًا في الملف كحرف حرفي. إن إعادة كتابة الأقواس والأسهم يدويًا أمر بطيء، وهو بالضبط نوع الترجمة الميكانيكية التي يجب أن تقوم بها الأداة. لذلك قمت ببناء واحدة في تولز.ديفوهذا هو الدليل على ذلك.

ليرة تركية؛DR: تولز محول صفيف JSON إلى PHP يقوم بتوزيع مستند JSON وتسلسله كمصفوفة PHP حرفية يمكنك لصقها مباشرة في ملف. تصبح كائنات JSON صفائف ترابطية مع =>تصبح صفائف JSON صفائف مفهرسة، ويتم تعيين الكميات القياسية إلى مكافئاتها من PHP. اختر باختصار [] أو كلاسيكي array() بناء الجملة، قم بتعيين المسافة البادئة، وقم بتغليف النتيجة بشكل اختياري في أ $variable = [...]; مهمة. يعمل بالكامل من جانب العميل: لا يوجد تحميل، ولا تسجيل، ويعمل دون اتصال بالإنترنت.

ما هو محول صفيف JSON إلى PHP؟

يقوم محول مصفوفة JSON إلى PHP بتحويل مستند JSON إلى مصفوفة PHP المكافئة حرفيًا. يصبح كائن JSON مصفوفة ترابطية مكتوبة باستخدام => عامل التشغيل، تصبح مصفوفة JSON مصفوفة مفهرسة، ويتم تعيين الأنواع العددية مباشرة: تصبح سلسلة JSON سلسلة PHP ذات اقتباس واحد، true و false ابقى على حاله، null يبقى null، والأرقام تحافظ على قيمتها. يتم الحفاظ على التعشيش إلى أي عمق، لذلك يظهر كائن JSON ذو التنظيم العميق كمصفوفة PHP ذات تنظيم عميق بنفس الشكل.

السبب وراء فائدة ذلك هو أن مصفوفات JSON وPHP تصف نفس الشيء، وهي شجرة من القيم ذات المفاتيح والمرتبة، مع علامات ترقيم مختلفة. يستخدم JSON النقطتين والأقواس؛ يستخدم PHP => والأقواس. الترجمة بينهما هي ميكانيكا خالصة، والميكانيكا معرضة للخطأ عند القيام بها يدويًا، خاصة مع الهياكل المتداخلة حيث يقوم قوس واحد في غير مكانه بكسر الملف. يقوم المحول بالترجمة بشكل حتمي ويعيد لك PHP صالحًا.

يجدر بنا أن نكون واضحين بشأن ما ليس هذا. ليس كذلك json_decode. يقرأ PHP JSON في وقت التشغيل بشكل جيد تمامًا، وعندما تصل بياناتك كسلسلة، فإن فك تشفيرها هو الخطوة الصحيحة. هذه الأداة مخصصة للحالة الأخرى، عندما تريد أن يعيش المصفوفة في الكود المصدري نفسه.

لماذا لا تستخدم json_decode فقط؟

هذا هو السؤال الأول الذي يطرحه كل مطور PHP، وهو السؤال الصحيح. json_decode($string, true) يقوم بتوزيع سلسلة JSON في مصفوفة PHP، ويقوم دليل PHP بتوثيقها كطريقة قياسية لاستهلاك JSON. إذا كانت JSON الخاصة بك عبارة عن بيانات تصل في وقت التشغيل، من طلب HTTP، أو قائمة انتظار، أو ملف تقرأه، إذن json_decode هو بالضبط ما يجب عليك استخدامه، ولا يوجد مولد تعليمات برمجية ينتمي إلى أي مكان قريب منه.

المحول مخصص لموقف مختلف: عندما لا تكون JSON بيانات وقت التشغيل ولكنها شيء تريد الالتزام به. بعض الحالات الملموسة من عملي الخاص. مصفوفة تكوين افتراضية تأتي مع مكون إضافي ويجب أن تكون قابلة للقراءة والتحرير في المصدر. جدول بحث، على سبيل المثال، خريطة لرموز البلدان للأسماء، التي تلصقها مرة واحدة ولا تجلبها أبدًا. أداة اختبار يجب أن تكون حرفية بحيث يكون الاختبار قائمًا بذاته ولا يعتمد على قراءة ملف. بذرة لترحيل قاعدة البيانات. مثال في الوثائق التي يجب أن تكون قابلة للنسخ واللصق PHP بدلاً من JSON.

في كل ذلك، سيكون فك تشفير سلسلة JSON عند كل طلب إهدارًا وسيخفي البيانات خلف سلسلة حرفية، حيث لا يستطيع المحرر طيها، ولا يستطيع جهاز الإرسال الخاص بك التحقق منها، ولا يستطيع المراجع قراءتها كـ PHP. كتابة المصفوفة في المصدر يحل ذلك. المحول هو أسرع طريقة للانتقال من عينة JSON إلى تلك الحرفية.

وهنا القرار في جدول واحد.

حالة يستخدم لماذا
يصل JSON إلى وقت التشغيل كبيانات json_decode($json, true) التحليل هو المهمة؛ إبقائها ديناميكية
JSON هو التكوين والتركيبات والبذور والأمثلة محول صفيف JSON إلى PHP الالتزام حرفيًا قابلاً للقراءة للمصدر
أنت بحاجة إلى استعادة JSON من قيمة PHP json_encode($array) الاتجاه المعاكس
لديك PHP serialize() سلسلة أداة إلغاء التسلسل وهذا تنسيق مختلف تماما

ما الفرق بين القصير [] و array() بناء الجملة؟

أنها تنتج صفائف متطابقة؛ تختلف الأقواس فقط. يستخدم بناء الجملة القصير [ و ] وهو متاح منذ PHP 5.4، والذي أصبح الآن تاريخًا قديمًا، لذا فإن بناء الجملة القصير لأي قاعدة تعليمات برمجية حديثة هو الإعداد الافتراضي وهو الذي أصل إليه. الكلاسيكية array() يعمل النموذج في كل إصدار من PHP تم إصداره على الإطلاق، وهذا هو السبب الوحيد لاستمرار اختياره: أنت تستهدف وقت تشغيل أقدم من PHP 5.4، أو قاعدة تعليمات برمجية يفرض دليل أسلوبها النموذج الطويل.

تتيح لك الأداة التبديل بينهما دون إعادة لصق JSON الخاص بك، لذلك إذا كنت تساهم في مشروع قديم، فيمكنك مطابقة نمط المنزل الخاص به بنقرة واحدة. نصيحتي لأي شيء جديد هي بناء الجملة القصير، ويتم كتابة PSR-12، أسلوب ترميز PHP الحديث، حوله.

كيف يتم التعامل مع السلاسل والأحرف الخاصة؟

هذا هو الجزء الذي يعض الأشخاص الذين يكتبون المحول السريع الخاص بهم، لذلك يستحق الشرح. تصدر الأداة سلاسل كأحرف حرفية مفردة مقتبسة من PHP. داخل علامات الاقتباس المفردة، تتعامل PHP مع كل حرف تقريبًا حرفيًا؛ الحرفان الوحيدان المميزان هما الشرطة المائلة العكسية والاقتباس الفردي نفسه. لذلك يهرب المحول من هذين الخطين بالضبط، وتصبح الشرطة المائلة العكسية خطين مائلين خلفيين ويحصل الاقتباس الواحد على شرطة مائلة عكسية سابقة، ويترك كل شيء آخر بمفرده.

وهذا له نتيجة ممتعة. يأتي السطر الجديد داخل سلسلة JSON كسطر جديد حقيقي داخل سلسلة PHP ذات الاقتباس الفردي، وهو صالح ويحافظ على الحرف تمامًا. لن تحصل على التشويه الذي ستفعله إذا حاولت الأداة بسذاجة تطبيق تسلسلات الهروب ذات الاقتباس المزدوج. سلسلة JSON مثل O'Brien يصبح 'O\'Brien'، ومسار ويندوز مثل C:\Users يصبح 'C:\\Users'، وكلاهما صحيح PHP. إذا قمت بتصحيح أخطاء ملف تكوين حيث أدت الفاصلة العليا في القيمة إلى كسر بناء الجملة بصمت، فسوف تقدر أنه يتم التعامل مع هذا نيابةً عنك.

كيف أستخدم المحول؟

التدفق هو أربع خطوات. لصق كائن أو مصفوفة JSON في مربع الإدخال؛ إذا كنت تريد رؤية شكل الإخراج أولاً، قم بتحميل العينة. اختر بناء جملة المصفوفة، باختصار [] أو array(). اضبط المسافة البادئة على مسافتين، أو 4 مسافات، أو علامة تبويب، لتتناسب مع مشروعك، واكتب اسم متغير اختياريًا لتغليف الإخراج كـ $config = [...]; مع فاصلة منقوطة زائدة، جاهز للنسخ في ملف. ثم انقر فوق تحويل ونسخ النتيجة.

إذا كان JSON غير صالح، تقوم الأداة بالإبلاغ عن رسالة الخطأ الخاصة بالمحلل اللغوي &#39؛ بدلاً من الفشل بصمت، لذلك يتم العثور بسرعة على فاصلة زائدة طائشة أو مفتاح غير مقتبس. ولأن كل شيء يعمل في متصفحك، يمكنك لصق استجابة API حقيقية أو تكوين خاص دون أن يغادر جهازك، وهو أمر مهم عندما لا تكون القيم شيئًا قد ترسله إلى خادم عشوائي. هذا النموذج من جانب العميل هو نفسه الموجود خلف بقية الموقع، الموضح في أدوات خصوصية البيانات عبر الإنترنت مرشد.

كيف يتناسب هذا مع أدوات JSON الأخرى؟

يعد محول المصفوفة JSON إلى PHP أحد أعضاء عائلة صغيرة من محولات JSON الموجودة على الموقع، وهي تشترك في نفس نواة التحليل. عندما تريد ترتيب JSON أولاً، فإن منسق JSON سيتم وضع مسافة بادئة والتحقق من صحتها. عندما تحتاج إلى نفس البيانات مثل واجهة TypeScript بدلاً من PHP، فإن JSON إلى محول TypeScript يستنتج الأنواع. عندما يكون الهدف عبارة عن جدول بيانات أو تحميل قاعدة بيانات، فإن محول JSON إلى CSV يسطحها في صفوف، و محول JSON إلى YAML يتعامل مع تنسيقات التكوين التي تفضل YAML.

بالنسبة لمطوري PHP على وجه التحديد، فإن الجار الذي يستحق المعرفة هو أداة إلغاء التسلسلالذي يتعامل مع PHP&#39؛s الخاصة serialize() تنسيق. هذا وحش مختلف عن JSON، وهو تنسيق سلكي خاص بـ PHP تجده في بيانات الجلسة وبعض قيم خيارات WordPress، وتغطي الأداتان الطريقتين اللتين تظهر بهما البيانات المنظمة بشكل شائع في مشروع PHP. إذا كنت تعمل عبر المكدس، فإن مجموعة أدوات مطور الويب يوضح التقرير كيف يتم تجميع هذه القطع معًا، و أدوات إنتاجية المطور يغطي الدليل المجموعة الأوسع.

مثال عملي من سير عمل WordPress وLaravel

اسمحوا لي أن أجعل هذا ملموسًا مع المكانين اللذين وصلت إليهما أكثر. في البرنامج الإضافي WordPress، غالبًا ما تقوم بشحن مصفوفة إعدادات افتراضية تعمل على زرع جدول الخيارات عند التنشيط. أثناء التطوير، تبدأ هذه البنية في كثير من الأحيان كعينة JSON، ربما يتم تصديرها من واجهة مستخدم الإعدادات أو رسمها أثناء تصميم المخطط. بدلاً من ترجمتها يدويًا، أقوم بلصق JSON في المحول، واختيار بناء جملة قصير ومسافة بادئة مكونة من 4 مسافات لتتناسب مع نمط البرنامج الإضافي &#39؛s، اكتب defaults كاسم المتغير، والعودة $defaults = [ ... ]; وهذا يسقط مباشرة في أ get_default_settings() وظيفة. تظل المفاتيح قابلة للقراءة، ويمكن للمراجع رؤية الشكل في الفرق، ولا يوجد فك تشفير وقت التشغيل في كل تحميل للصفحة.

جانب Laravel مشابه ولكنه يظهر في التكوين والبذارات. يُرجع ملف التكوين مصفوفة ترابطية كبيرة، ولدي بانتظام إصدار JSON لبعض تعيينات الطرف الثالث، وجدول العملات، ومجموعة من علامات الميزات، وقائمة الخطط، التي يجب أن تصبح تلك المصفوفة. يقوم المحول بتحويل JSON إلى الحرفي، وأغلفه في return [ ... ]; يتوقع ملف التكوين، وأصبحت القيمة الآن PHP من الدرجة الأولى التي يخزنها إطار العمل مؤقتًا config:cache بدلا من أن يتم تحليلها من سلسلة. بالنسبة لمصنعي قواعد البيانات، تعمل نفس الخدعة: لصق JSON لصفوف العينات الخاصة بك، والحصول على مصفوفة، وتغذيتها insert().

السبب الذي يجعلني أعتمد على المحول بدلاً من json_decode(file_get_contents(...)) في هذه المواقع ليس الكسل، بل أن الالتزام الحرفي يجعل البيانات جزءًا من مراجعة التعليمات البرمجية، وجزءًا من التحليل الثابت، وجزءًا من سجل الإصدار في شكل يقرأه الإنسان. ملف JSON الموجود بجوار الكود غير مرئي لرسائل PHP؛ المصفوفة الموجودة في المصدر ليست كذلك. عندما تكون البيانات جزءًا ثابتًا من التطبيق بدلاً من إدخالها إليه، فإن هذه الرؤية تستحق التحويل لمرة واحدة.

هناك أيضًا زاوية توثيق قللت من تقديرها حتى بدأت في كتابة المزيد من الأدلة. عندما تريد إظهار مثال PHP في README أو قاعدة معرفية، فإن نقطة JSON ليست PHP قابلة للنسخ واللصق، والقراء الذين يمسكون بها يصابون بخطأ في بناء الجملة. تشغيله من خلال المحول يعني أولاً أن المثال الموجود في مستنداتك هو PHP حقيقي وقابل للتشغيل ويمكن للقارئ إسقاطه في ملف ورؤية العمل، وهو أمر صغير يرفع جودة الوثائق بهدوء.

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

بعض الحواف الصادقة. الأكبر هو الدقة الرقمية، وهي خاصية لتحليل JSON بشكل عام وليس هذه الأداة على وجه التحديد. يقوم المحول بتحليل JSON الخاص بك باستخدام المتصفح &#39؛s محلل JSON، الذي يمثل الأرقام على شكل عوامات مزدوجة الدقة. الأعداد الصحيحة التي تتجاوز تقريبًا 2 إلى القوة 53، وهي أرقام مكونة من ستة عشر رقمًا، تفقد الدقة في وقت التحليل، قبل أن تراها الأداة على الإطلاق. إذا كنت تقوم بتحويل JSON بمعرفات أعداد صحيحة كبيرة جدًا، فتعامل معها كسلاسل في JSON لإبقائها دقيقة. يشارك كل محول قائم على JSON.parse هذا الحد؛ أداة تدعي خلاف ذلك ستكون كاذبة.

ثانيا، إكراه مفتاح صفيف PHP. يقوم PHP بتحويل مفتاح السلسلة الذي يبدو وكأنه عدد صحيح بهدوء إلى مفتاح عدد صحيح فعلي. يكتب المحول مفاتيح الكائنات كسلاسل مقتبسة، وهو أمر واضح وصحيح، ولكن انتبه إلى أن PHP نفسه قد يعالج '0' و 0 مثل نفس المفتاح في وقت التشغيل. هذا مهم فقط للكائنات التي تكون مفاتيحها عبارة عن سلاسل رقمية، وهو أمر نادر، والسلوك هو PHP&#39؛s، وليس الأداة&#39؛s.

ثالثا، الحاويات الفارغة. كائن JSON فارغ {} ومصفوفة JSON فارغة [] كلاهما يصبح [] في PHP، لأن مصفوفة PHP لا يمكنها التمييز بين الاثنين. وهذا غموض حقيقي في التعيين، وليس اختصارًا، ولا يوجد بناء PHP يحافظ على الفرق.

أخيرًا، الإخراج هو قيمة، وليس عبارة، إلا إذا قمت بتوفير اسم متغير. بدون واحد تحصل على حرف حرفي، وهو ما تريده عند لصقه في تعبير موجود؛ بواحد تحصل على مهمة كاملة تنتهي بفاصلة منقوطة. يتم التحقق من صحة اسم المتغير، لذلك يتم رفض المعرف غير الصالح برسالة واضحة بدلاً من إنتاج PHP معطل.

الأسئلة المتداولة

ما هو محول صفيف JSON إلى PHP؟ يقوم محول مصفوفة JSON إلى PHP بتحويل مستند JSON إلى مصفوفة PHP المكافئة حرفيًا. تصبح كائنات JSON صفائف ترابطية مع =&gt؛ المشغل، تصبح صفائف JSON صفائف مفهرسة، ويتم تعيين الأنواع العددية إلى نظيراتها من PHP حتى تتمكن من لصق النتيجة مباشرة في برنامج نصي.

كيف يمكنني تحويل JSON إلى مصفوفة PHP؟ الصق JSON الخاص بك في مربع الإدخال، واختر بناء جملة قصير [] أو مصفوفة () ونمط المسافة البادئة، ثم انقر فوق تحويل. تقوم الأداة بإنشاء مصفوفة PHP حرفية يمكنك نسخها، ويتم تغليفها اختياريًا في تعيين متغير إذا قمت بإدخال اسم متغير.

ما الفرق بين بناء الجملة القصير [] والمصفوفة ()؟ أنها تنتج صفائف متطابقة؛ تختلف الأقواس فقط. يستخدم بناء الجملة القصير [] وهو متاح منذ PHP 5.4، في حين أن المصفوفة () هي النموذج الأقدم الذي يعمل في كل إصدار PHP. اختر المصفوفة () فقط إذا كان يجب عليك دعم وقت تشغيل أقدم من PHP 5.4.

هل يحل هذا محل json_decode في PHP؟ يقوم رقم json_decode ($json، true) بتوزيع سلسلة JSON في مصفوفة في وقت التشغيل، وهو أمر صحيح عندما يصل JSON كبيانات. تقوم هذه الأداة بكتابة المصفوفة في كود المصدر الخاص بك بدلاً من ذلك، وهو ما يناسب التكوين والتركيبات والبيانات الأولية والأمثلة التي يجب أن تكون موجودة في الملف بدلاً من فك تشفيرها عند كل طلب.

كيف يتم تعيين كائنات ومصفوفات JSON؟ يصبح كائن JSON مصفوفة ترابطية PHP حيث يكون كل مفتاح عبارة عن سلسلة ذات اقتباس واحد متبوعة بـ =&gt؛ وقيمتها. تصبح مصفوفة JSON مصفوفة PHP مفهرسة مع العناصر بالترتيب. يتم الحفاظ على التعشيش إلى أي عمق تمامًا كما هو الحال في المصدر.

كيف يتم التعامل مع السلاسل والأحرف الخاصة؟ يتم إصدار السلاسل كأحرف حرفية مقتبسة من PHP، لذلك يتم الهروب فقط من شرطة مائلة عكسية واقتباس واحد مع شرطة مائلة عكسية سابقة. يتم الاحتفاظ بكل حرف آخر، بما في ذلك السطر الجديد الحقيقي، حرفيًا، وهو ما يطابق كيفية تعامل PHP مع السلاسل المقتبسة بشكل فردي.

هل تم تحميل json الخاص بي في أي مكان؟ لا. يحدث التحويل بالكامل في متصفحك باستخدام JavaScript على جهازك. لا يتم تحميل JSON الخاص بك أو تسجيله أو تخزينه مطلقًا، وتستمر الأداة في العمل مع الشبكة المنفصلة بمجرد تحميل الصفحة.

هل محول المصفوفة JSON إلى PHP مجاني؟ نعم. إنه مجاني تمامًا بدون تسجيل ولا علامة مائية ولا حد أقصى للاستخدام. قم بتحويل العديد من مستندات JSON إلى مصفوفات PHP حسب حاجتك للمشاريع الشخصية أو التجارية.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!