مطالعه این مقاله ارزشمند 1 دقیقه و 30 ثانیه زمان نیاز دارد مطالعه کنید، مشارکت کنید و به اشتراک بگذارید


عنوان مقاله: چگونه در php با داده های json کار کنیم

json یا همان جیسون که در فارسی اون رو تلفظ میکنیم یه ساختار داده ای شبیه xml هستش که تو جاوا اسکریپت استفاده میشد و الان همه زبان های برنامه نویسی از اون به جای xml استفاده میکنند. جیسون تعریفش به سختی xml نیست و به راحتی به صورت key-value تعریف میشه. تو جیسون ما با دو نوع داده آرایه یا آبجکت سر و کار داریم که با استفاده از اون میتونیم داده های خودمون رو تو یکی از اینها قرار بدیم. value ها در جیسون میتونن هر نوعی باشن مثلا عددی - رشته ای، اعشار و یا حتی آرایه ای داده های دیگه. برای اینکه بتونیم تو php از این ساختار استفاده کنیم از دو متد json_encode و json_decode بهره میبریم. توجه داشته باشید که شما باید تسلط کامل به این نوع داده ای یعنی جیسون داشته باشید چون امروز تمامی تبادلات داده ای اعم از داخل خود اپلیکیشنهای وب - سمت وب سرویس های گوشی های موبایل برای استفاده از api ها روی این ساختار فعالیت میکنند.

یک  مثال ساده براتون بزنم که در این ما آرایه ای که داخل php داریم رو میخاییم تبدیل کنیم به جیسون


//PHP Array
$animals = array("Lion", "Monkey", "Fox", "Deer", "Rat", "Dog", "Cat");
echo json_encode($animals);

تو این مثال به سادگی ما یک آرایه رو تبدیل میکنیم به داده جیسون و از اون میتونیم برای هر منظوری استفاده کنیم. json_decode بر عکس عمل میکنه یعنی داده جیسون شما رو تبدیل به یک آرایه php میکنه و شما میتونید فقط با انتساب متغیر به اون این کار رو انجام بدید.

اشتباهی که اکثر برنامه نویسهای مبتدی انجام میدن تو تشخیص این هستش که داده ای که در فرمت جیسون هستش آرایه هستش یا آبجکت. آبجکت منظورم این هستش که یک کلید با یه داده ساده دارین مثل انتساب یک مقدار به یک متغیر. ولی آرایه مجموعه ای از داده هایی هستش که تو یک بخش قابل استفاده هستن و شما میتونید با استفاده از حلقه ها تمامی اون داده ها رو بیرون بکشید

یک مثال ملموس میزنم:


{
  "marketingTargetTodo": {
    "like": 1,
    "superLike": 1,
    "comment": 1,
    "follow": 1,
    "followBack": 1,
    "unFollow": 1
  },
  "userPages": [
    "{\"id\":\"4547749676\",\"username\":\"mahdi\",\"full_name\":\"Mahdi Pishguy\"}"
  ]
}

در این ساختار داده ای که میبینید marketingTargetTodo یک آبکجتی هستش که با استفاده از کلیدهای like - follow میتونیم به راحتی مقداری که در اون قرار داره و واکاوی کنیم. این یک آبجت هستش و داخل {} قرار میگیره ولی userPages یک آرایه ای هستش که ممکن هستش ما یک یا چند مجموعه داده از یک فرد داشته باشیم. مثلا دانش آموزان یک کلاس یک نفر تا ۱۰۰ نفر میتونن باشن. پس این ارايه ای از دانش آموزان هستش که میبینید  با [] مشخص شده و به راحتی میشه تشخیص داد

بیوگرافی
مهندس مهدی پیشگوی

مهدی پیشگوی هستم متخصص تولید اپلکیشنهای موبایلی اندروید و سامانه های تحت وب. مسلط به اکثرا ابزارهای تولید وب از قبیل Php - NodeJs - React - VueJs و تولید اپلیکشنهای اندرویدی با Java و ReactNative. تو این سایت تمام تجربه ۱۵ سال من در اختیار شما قرار داده شده است

شما اولین فردی باشید که نظر ارزشمندی ارسال میکند

برای نظرات شما احترام قائل هستیم و بر حسب مشارکت مفید و سازنده شما کدهای تخفیف منحصر به فردی جهت خرید محصولات سایت ارسال خواهد شد



لطفا برای ارسال نظر وارد سایت شوید یا ثبت نام کنید. کلیک کنید

خواندن مطالب با ارزش زیر برای شما توصیه می شود

  • خطای composer و عدم ساپورت نسخه php
    مدت زمان مورد نیاز برای مطالعه: 1 دقیقه و 8 ثانیه
    مقالات آموزشی laravel - تیر 17، 1397

    چند روز پیش مشکلی که برام پیش اومد این بود که وقتی داشتم سایتم رو بالا می اوردم دیگه پوشه vendor که مربوط به لاراول بود رو آپلود نکردم. بعدش وقتی با دستور composer سعی کردم نصب و آپدیت کنم خطا داد. ...

  • مایگریشن ها رو تو لاراول به دلخواه به عقب برگردونیم
    مدت زمان مورد نیاز برای مطالعه: 1 دقیقه و 3 ثانیه
    مقالات آموزشی laravel - تیر 20، 1397

    زمانی که ما داریم از مایگریشن ها استفاده میکنیم بارها پیش اومده که آخرین جدولی که ساختیم نیاز به ویرایش داشته و با انجام rollback یا refresh کردن تمام جداول بانک اطلاعاتی رو به قبل برمیگردونیم ولی ...

  • در php کودوم خط از کدی که نوشتیم باعث بروز خطا میشه
    مدت زمان مورد نیاز برای مطالعه: 1 دقیقه و 14 ثانیه
    مقالات آموزشی laravel - مرداد 23، 1397

    زمانی که در حال توسه نرم افزار هستیم بارها پیش اومده که خطاهایی دریافت میکنیم که به نظر آشکار میان ولی وقتی میخایید بفهمید که کودوم خط این اتفاق افتاده و اون رو دیباگ کنید به مشکل میخورید مخصوصا زم ...

  • پورت استفاده شده توسط لاراول رو kill کنیم
    مدت زمان مورد نیاز برای مطالعه: 1 دقیقه و 4 ثانیه
    مقالات آموزشی laravel - مرداد 23، 1397

    یکی از مهمترین مشکلاتی که من برای توسعه سیستم دیجیتال مارکتینک اینستاگرام داشتم این بود که رکوئستی که میفرستادم سمت اینستاگرام برای لایک زدن و فالو کردن و یا ارسال کامنت خیلی طولانی میشه و دیگه لوک ...

  • خطای composer و عدم ساپورت نسخه php
    مدت زمان مورد نیاز برای مطالعه: 1 دقیقه و 8 ثانیه
    مقالات آموزشی laravel - تیر 17، 1397

    چند روز پیش مشکلی که برام پیش اومد این بود که وقتی داشتم سایتم رو بالا می اوردم دیگه پوشه vendor که مربوط به لاراول بود رو آپلود نکردم. بعدش وقتی با دستور composer سعی کردم نصب و آپدیت کنم خطا داد. ...

  • پورت استفاده شده توسط لاراول رو kill کنیم
    مدت زمان مورد نیاز برای مطالعه: 1 دقیقه و 4 ثانیه
    مقالات آموزشی laravel - مرداد 23، 1397

    یکی از مهمترین مشکلاتی که من برای توسعه سیستم دیجیتال مارکتینک اینستاگرام داشتم این بود که رکوئستی که میفرستادم سمت اینستاگرام برای لایک زدن و فالو کردن و یا ارسال کامنت خیلی طولانی میشه و دیگه لوک ...