داده‌های ساختاریافته در PHP

کار با فرمت‌های رایج تبادل داده مانند JSON، CSV و XML برای تبادل اطلاعات با APIها و پایگاه‌های داده.

نمای کلی

داده‌های ساختاریافته امکان تبادل اطلاعات میان زبان‌ها و سیستم‌های مختلف را فراهم می‌سازند. JSON محبوب‌ترین فرمت در وب برای کار با REST APIها است، در حالی که CSV برای خروجی اکسل و XML در سیستم‌های قدیمی‌تر استفاده می‌شود.

پردازش JSON در PHP

برای تبدیل آرایه یا شیء PHP به رشته JSON از json_encode() استفاده می‌شود و برای تبدیل رشته JSON به آرایه انجمنی PHP، تابع json_decode($json, true) به کار می‌رود.

structured-data-demo.php
<?php

$products = [
    ["id" => 101, "title" => "Keyboard", "price" => 49.99],
    ["id" => 102, "title" => "Mouse",    "price" => 25.00]
];

// 1. Array to JSON string
$jsonString = json_encode($products, JSON_PRETTY_PRINT);
echo "<pre>" . $jsonString . "</pre>";

// 2. JSON string back to PHP Associative Array (2nd param = true)
$parsedArray = json_decode($jsonString, true);

?>

کار با CSV و XML

PHP برای فایل‌های CSV توابع داخلی مثل fgetcsv() و fputcsv() ارائه می‌دهد. همچنین خواندن سندهای XML به سادگی با افزونه simplexml_load_string() امکان‌پذیر است.

جدول مقایسه فرمت‌ها

فرمت خوانایی انسان توابع کلیدی PHP
JSON عالی (کم حجم و استاندارد وب) json_encode / json_decode
CSV ساده (مناسب داده‌های جدولی و Excel) fgetcsv / fputcsv
XML متوسط (پرحجم و دارای تگ) simplexml_load_string

اشتباهات رایج

فراموش کردن آرگومان true در json_decode

اگر پارامتر دوم json_decode() را ارسال نکنید، PHP خروجی را به‌صورت شیء (stdClass) بازمی‌گرداند نه آرایه انجمنی. برای دریافت آرایه حتماً true بگذارید.

تمرین عملی

آرایه‌ای شامل لیست ۳ کاربر را ایجاد کرده، آن را تبدیل به فرمت JSON کنید و داخل فایلی به نام users.json ذخیره کنید. سپس فایل را خوانده و مجدداً به آرایه PHP تبدیل نمایید.

بازگشت به نقشه راه