
نوشته اصلی توسط
parsspace
ایول کارت درسته پس این ۲ تارم بگو تا تکمیل شن تو این روزا که بازار وب ۳ ۴ ۵ ۶ ۷ ... گرمه کارایی بالایی داره
json_encode
json_decode
:دی
خوب json که من زیاد کار نکردم ولی در حدی که میدونم توضیح میدم به کاربرا .
در واقع json یه شیوه ارائه متغیر ها هست که حتی بدون دیکود کردن اون هم قابل خوندنه . بسیار مورد استفاده برای API ها .
دقیقا مورد استفادش جایی هست که ما میخوایم خروجی API رو بصورت چند متغیر بدیم .
میایم یه رشته میسازیم و اونو برمیگردونیم که دوباره اونو برای بازخوانی دیکود میکنیم . explode
خوب json_encode رو اگر بخوایم معرفی کنیم . این ساختار :
کد PHP:
string json_encode ( mixed $value [, int $options = 0 ] )
خوب . هرچی تابع داریم رو می ریزم داخل یه آرایه اونو مقدار تابع ـمون میذاریم .
مثال :
کد:
<?php$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
که خروجی میشه :
کد:
{"a":1,"b":2,"c":3,"d":4,"e":5}
که در واقع ما اینو خروجی میدیم به سمت کلاینت .
خوب حالا بیایم سمت کلاینت . وقتی اومد اینو نیاز داریم تا دوباره مقدایر رو مساوی متغیر قرار بدیم . برای این کار تابع json_decode وجود داره .
ساختار :
کد PHP:
json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )
که اگر بخوایم رشته ای که تولید کردیم رو دیکود کنیم . میشه :
کد:
<?php$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
خروجی :
کد:
object(stdClass)#1 (5) { ["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
در صورتی که مقدار assoc مساوی true باشه مقادیر بصورت آرایه در میان که خیلی خوبه :دی
همین در توانایی من بود . اگر ناقص بود عذر میخوام .
موفق باشید .
PHP: json_decode - Manual
PHP: json_encode - Manual