🚀 احتراف التعامل مع JSON في لغة PHP: دليلك الشامل للمبتدئين
سنتحدث عن واحد من أهم المواضيع في تطوير الويب الحديث، وهو الـ JSON. إذا كنت تطمح لبناء تطبيقات تتواصل مع سيرفرات أو تبادل بيانات بين لغات برمجة مختلفة، فهذا الدرس هو مفتاحك الأساسي. 🔑
❓ ما هو الـ JSON أصلاً؟
كلمة JSON هي اختصار لـ JavaScript Object Notation.
ببساطة شديدة، هو ليس لغة برمجة، بل هو تنسيق (Format) لكتابة البيانات. تخيله كأنه "لغة مشتركة" تفهمها كل لغات البرمجة (PHP, JavaScript, Python, Java). 🤝
لماذا نستخدمه؟ لأن نقل البيانات بين السيرفر (الذي يعمل بـ PHP) والمتصفح (الذي يعمل بـ JavaScript) يحتاج إلى صيغة خفيفة، سهلة القراءة للبشر، وسهلة المعالجة بالنسبة للحواسيب.
شكل بيانات JSON:
تعتمد بيانات JSON على نظام "المفتاح والقيمة" (Key and Value)، وتكون محاطة بأقواس متعرجة { }.
مثال بسيط:
{
"name": "Ahmed",
"age": 25,
"city": "Cairo"
}
🔄 تحويل المصفوفات إلى JSON باستخدام json_encode
في لغة PHP، غالباً ما نتعامل مع البيانات على شكل مصفوفات (Arrays). ولكن لكي نرسل هذه المصفوفة إلى المتصفح أو تطبيق هاتف، يجب تحويلها إلى نص بصيغة JSON. هنا نستخدم الدالة السحرية json_encode().
شرح الدالة: تأخذ هذه الدالة المصفوفة (Array) وتحولها إلى نص (String) بتنسيق JSON.
مثال عملي بسيط: 💻
<?php
// 1. تعريف مصفوفة تحتوي على بيانات مستخدم
$user_data = array(
"first_name" => "Omar",
"last_name" => "Ali",
"email" => "omar@example.com",
"age" => 30
);
// 2. تحويل المصفوفة إلى صيغة JSON
$json_string = json_encode($user_data);
// 3. طباعة النتيجة لرؤيتها
echo $json_string;
// المخرجات ستكون نصاً واحداً:
// {"first_name":"Omar","last_name":"Ali","email":"omar@example.com","age":30}
?>
🔄 تحويل JSON إلى مصفوفات باستخدام json_decode
الآن، ماذا لو استلمنا بيانات من مصدر خارجي (مثل API) وكانت بصيغة JSON؟ نحن لا نستطيع التعامل معها مباشرة في PHP لأنها مجرد "نص". لذا نحتاج لتحويل هذا النص مرة أخرى إلى مصفوفة PHP لنتمكن من استخراج البيانات منها. هنا نستخدم الدالة json_decode().
شرح الدالة: تأخذ هذه الدالة نص JSON وتحوله إلى كائن (Object) أو مصفوفة (Array).
مثال عملي بسيط: 💻
<?php
// 1. نص بصيغة JSON (تخيل أننا استلمناه من سيرفر آخر)
$json_text = '{"name":"Sara", "job":"Developer", "country":"Jordan"}';
// 2. تحويل النص إلى مصفوفة PHP
// نضع true كمعامل ثاني لتحويلها إلى مصفوفة (Associative Array)
$php_array = json_decode($json_text, true);
// 3. الآن يمكننا الوصول للقيم بسهولة باستخدام المفاتيح
echo "Name: " . $php_array['name']; // ستطبع: Name: Sara
echo "<br>";
echo "Job: " . $php_array['job']; // ستطبع: Job: Developer
?>
⚠️ ملاحظة هامة جداً:
في الدالة json_decode($json_text, true)، إذا لم نضع كلمة true في النهاية، ستقوم PHP بتحويل البيانات إلى "كائن" (Object) وليس مصفوفة، وهذا موضوع سنتناوله لاحقاً في دروس الكائنات. حالياً، التزم بوضع true للتعامل معها كمصفوفة بسيطة.
📝 ملخص سريع للعمليات
| العملية | الدالة المستخدمة | من إلى |
|---|---|---|
| التشفير (Encoding) | json_encode() |
مصفوفة PHP نص JSON |
| فك التشفير (Decoding) | json_decode() |
نص JSON مصفوفة PHP |
💡 نصيحة ذهبية
تذكر دائماً أن الـ JSON هو مجرد "طريقة لنقل البيانات". لا تحاول تخزين منطق برمجي بداخله، بل استخدمه فقط لنقل المعلومات (نصوص، أرقام، مصفوفات) من مكان إلى آخر.
🎓 اختبر معلوماتك
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال