مثال
انکد کردن یک آرایه ی انجمنی به یک شیء JSON :
<?php
$age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
echo json_encode($age);
?>
توضیحات
تابع json_encode() برای انکد کردن یک مقدار به فرمت JSON استفاده می شود.
سینتکس
json_encode(value, options, depth)
مقادیر پارامتر ها
پارامتر | توضیح |
---|---|
value | اجباری. مقداری که باید انکد شود |
options | اختیاری. مشخص کردن یک بیت ماسک (JSON_FORCE_OBJECT, JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_INVALID_UTF8_IGNORE, JSON_INVALID_UTF8_SUBSTITUTE, JSON_NUMERIC_CHECK, JSON_PARTIAL_OUTPUT_ON_ERROR, JSON_PRESERVE_ZERO_FRACTION, JSON_PRETTY_PRINT, JSON_UNESCAPED_LINE_TERMINATORS, JSON_UNESCAPED_SLASHES, JSON_UNESCAPED_UNICODE, JSON_THROW_ON_ERROR) |
depth | اختیاری. ماکزیمم عمق آرایه |
مثال
انکد کردن یک آرایه ی ایندکسی به آرایه ی JSON:
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo json_encode($cars);
?>
سلام وقت شما بخیر
لطفا اگه میشه توضیح بدین که کد json رو در php برای چی استفاده می کنند (درسته که کد مربوطه رو برای encod کردن و decod کردن آرایه ها به آبجکت ها استفاده می کنند ولی دلیل این کار که باید یک آرایه رو با استفاده از کد json به آبجکت تبدیل کنیم چیه )
دلیل اصلی استفاده از JSON در PHP، سادگی و قابلیت استفاده آسان آن در مقایسه با سایر فرمت های داده هست. با استفاده از JSON می تونید داده ها رو به صورت ساده و قابل فهم به وب سرویس ها (api) ی دیگه منتقل کنید. و همچنین از سمت وب سرویس دیگر، خیلی راحت می تونید داده ها رو دریافت کنید (نسبت به یک آرایه یا آبجکت)
علاوه بر این، استفاده از JSON در PHP بسیار امن هست و مانع از حملات امنیتی مانند حملات تزریق SQL می شود. با توجه به اینکه داده ها ابتدا در فرمت JSON ارسال می شوند و سپس توسط PHP دریافت و پردازش می شوند، احتمال تزریق کد مخرب کمتر است.
سلام وقتتون بخیر ممنون از جوابتون
من تازه php رو شروع کردم به آموزش دیدن، در واقع چون دارم دوره ی مقدماتی رو پشت سر میزارم زمانی که به آموزش کد های jsone رسیدم برام مفهوم خاصی نداشت که چرا باید ازش استفاده بشه و فقط روش استفاده رو یاد گرفتم و فقط تا همین اندازه که آرایه ها رو به آبجکت تبدیل میکنه و بلعکس، احتمالا باید به مباحث پیشرفته تر برسم تا بتونم درک بهتری نسبت به این موضوع داشته باشم . ( دوست داشتم هر جلسه ای رو که آموزش میبینم با اطلاع کامل ازش بگذرم ) .
$-باز هم سپاسگذارم از توضیحات شما ...