توضیح:
این تابع مقدار json داده شده را به آبجکت یا آرایه تبدیل می کند.
نحوه نوشتن:
1 |
json_decode(string, assoc, depth, options); |
پارامترها:
- مقدار value: مقدار json موردنظر جهت تبدیل به آبجکت.(ضروری)
- مقدار assoc: یک مقدار بولین. مقدار پیش فرض false است و بدین معنی است که مقدار بازگشتی آبجکت خواهد بود. در صورتی که مقدارش true باشد آبجکت بازگشتی به آرایه انجمنی یا associative array تبدیل می شود.(اختیاری)
- مقدار depth: عمق بازگشت را مشخص می کند. عمق بازگشت پیش فرض ۵۱۲ است.(اختیاری)
- مقدار options: مقادیر و تنظیمات برای json که بصورت مقادیر ثابت هستند.(اختیاری)
مقادیر ثابت عبارتند از:
- 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
مقدار بازگشت:
در صورت موفقیت یک مقدار آبجکت یا آرایه انجمنی برگشت می دهد. در صورت شکست null برگشت می دهد.
نسخه پشتیبانی:
(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL json >= 1.2.0)
مثال:
1 2 3 4 5 |
<?php $jsonobj = '{"amir javanmir":30,"shahryar barati":31}'; var_dump(json_decode($jsonobj)); ?> //object(stdClass)#1 (2) { ["amir javanmir"]=> int(30) ["shahryar barati"]=> int(31) } |
1 2 3 4 5 |
<?php $jsonobj = '{"amir javanmir":30,"shahryar barati":31}'; var_dump(json_decode($jsonobj,true)); ?> //array(2) { ["amir javanmir"]=> int(30) ["shahryar barati"]=> int(31) } |