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

تقرأ الأداة مصفوفة PHP مكتوبة كما في الكود وتعطيك JSON مكافئا لناتج json_encode، دون تشغيل أي كود PHP.

جارٍ تحميل الأداة…

المعالجة والخصوصية: تُحسب النتيجة داخل متصفحك ولا تُرسل بياناتك إلى أي خادم.

طريقة الاستخدام

  1. أدخل مصفوفة PHP والمسافة البادئة.
  2. تظهر النتيجة فورًا وتتحدّث مع كل تعديل.
  3. انسخ النتيجة، أو انسخ رابطًا يحفظ القيم نفسها لمشاركتها.

طريقة الحساب

المفاتيح النصية التي تمثل أعدادا صحيحة مثل '5' تصبح مفاتيح رقمية، والعنصر بلا مفتاح يأخذ أكبر مفتاح رقمي زائد 1 (قاعدة PHP 8.3). إذا كانت المفاتيح 0 و1 و2 بالترتيب تصبح المصفوفة قائمة JSON، وإلا تصبح كائنا. الأرقام السداسية والثنائية والثمانية تحول إلى أرقام عشرية.

مثال

المدخلات: المسافة البادئة = مسافتان. النتيجة: ناتج JSON: { "name": "ToolSahla", "version": 2, "debug": false, "langs": [ "ar", "en" ], "db": { "host": "localhost", "port": 3306 } }، عدد القيم المنقولة: 7.

$config = [
    'name' => 'ToolSahla',
    'version' => 2,
    'debug' => false,
    'langs' => ['ar', 'en'],
    'db' => array('host' => 'localhost', 'port' => 3306),
];
{
  "name": "ToolSahla",
  "version": 2,
  "debug": false,
  "langs": [
    "ar",
    "en"
  ],
  "db": {
    "host": "localhost",
    "port": 3306
  }
}

الحدود والملاحظات

  • تقرأ القيم الحرفية فقط: المتغيرات والثوابت واستدعاء الدوال تعطي رسالة خطأ.
  • نصوص heredoc و nowdoc والمفاتيح العشرية غير مدعومة.

أسئلة شائعة عن هذه الأداة

هل يمكنني لصق $config = [ ]; كاملا؟

نعم، تتجاهل الأداة <?php و return و $name = والفاصلة المنقوطة في النهاية، وتقبل التعليقات // و # و /* */.

لماذا تحولت مصفوفتي إلى كائن JSON؟

لأن مفاتيحها ليست 0 و1 و2 بالترتيب. هذا ما يفعله json_encode أيضا، فالمصفوفة [3 => 'a'] تصبح {"3": "a"}.

كيف تعامل المفاتيح المكررة؟

تفوز آخر قيمة ويبقى المفتاح في موضعه الأول، كما يحدث في PHP تماما.