تحويل مصفوفة PHP إلى JSON
تقرأ الأداة مصفوفة PHP مكتوبة كما في الكود وتعطيك JSON مكافئا لناتج json_encode، دون تشغيل أي كود PHP.
جارٍ تحميل الأداة…
المعالجة والخصوصية: تُحسب النتيجة داخل متصفحك ولا تُرسل بياناتك إلى أي خادم.
طريقة الاستخدام
- أدخل مصفوفة PHP والمسافة البادئة.
- تظهر النتيجة فورًا وتتحدّث مع كل تعديل.
- انسخ النتيجة، أو انسخ رابطًا يحفظ القيم نفسها لمشاركتها.
طريقة الحساب
المفاتيح النصية التي تمثل أعدادا صحيحة مثل '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 تماما.
