نحوه تبدیل آرایه به json در php همراه با مثال ، در این مقاله کار با تابع json_encode و نحوه تبدیل آرایه php به json را به شما آموزش خواهیم داد. اغلب از JSON برای خواندن داده ها از یک وب سرور و نمایش آن ها در یک صفحه وب استفاده می شود.هنگام تبادل داده ها بین مرورگر و سرور، داده ها فقط می توانند به شکل متن باشند.فرمت JSON متن می باشد و ما می توانیم هر شیء جاوا اسکریپت را به فرمت JSON تبدیل کنیم و JSON را به یک سرور ارسال کنیم. ما همچنین می توانیم هر JSON دریافت شده از سرور را به اشیاء جاوا اسکریپت تبدیل کنیم.
PHP دارای تعدادی توابع درونی برای مدیریت JSON می باشد. اشیاء و آرایه در PHP می توانند با استفاده از تابع json_encode() به جیسون تبدیل شوند.تابع json_encode() یه رشته حاوی JSON معادل با مقداری که به ان پاس داده شده است را بر می گرداند.در ادامه با یک مثال نحوه ی کار این تابع را به شما نشان خواهیم داد.
سینتکس تابع json_encode() :
json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] ) : string
<?php
$colors = ['Red', 'Blue', 'Green', 'yellow', 'pink'];
colorsJson = json_encode($colors);
echo $colorsJson ."\n";
خروجی کدهای بالا را در ادامه مشاهده می کنید:
در یک رشته JSON ، یک آرایه عددی php به لیترال آرایه ای ترجمه شده است.اگر ما بخواهیم خروجی به صورت Object نمایش داده شود می توانیم از گزینه JSON_FORCE_OBJECT استفاده کنیم.
مثال:
<?php
$colors = ['Red', 'Blue', 'Green', 'yellow', 'pink'];
$colorsJson = json_encode($colors, JSON_FORCE_OBJECT);
echo $colorsJson ."\n";
خروجی کدهای بالا را در ادامه مشاهده می کنید:
در ادامه یک مثال از تبدیل آرایه جفت کلید-مقدار به جیسون آورده شده است:
همچنین بخوانید: آموزش تابع array_chunk در php با مثال
<?php
$data = ['Iran' => 'Tehran', 'Japan' => 'Tokyo', 'Spain' => 'Madrid'];
$jsonData = json_encode($data);
echo $jsonData ."\n";
خروجی کدهای بالا را در ادامه مشاهده می کنید:
تابع json_encode() در صورت موفقیت (success) یک رشته کدگذاری شده JSON بر می گرداند و در صورت شکست (failure) مقدار False بر می گرداند.
<?php
$a = array('<foo>',"'bar'",'"baz"','&blong&', "\xc3\xa9");
echo "Normal: ", json_encode($a), "\n";
echo "Tags: ", json_encode($a, JSON_HEX_TAG), "\n";
echo "Apos: ", json_encode($a, JSON_HEX_APOS), "\n";
echo "Quot: ", json_encode($a, JSON_HEX_QUOT), "\n";
echo "Amp: ", json_encode($a, JSON_HEX_AMP), "\n";
echo "Unicode: ", json_encode($a, JSON_UNESCAPED_UNICODE), "\n";
echo "All: ", json_encode($a, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE), "\n\n";
$b = array();
echo "Empty array output as array: ", json_encode($b), "\n";
echo "Empty array output as object: ", json_encode($b, JSON_FORCE_OBJECT), "\n\n";
$c = array(array(1,2,3));
echo "Non-associative array output as array: ", json_encode($c), "\n";
echo "Non-associative array output as object: ", json_encode($c, JSON_FORCE_OBJECT), "\n\n";
$d = array('foo' => 'bar', 'baz' => 'long');
echo "Associative array always output as object: ", json_encode($d), "\n";
echo "Associative array always output as object: ", json_encode($d, JSON_FORCE_OBJECT), "\n\n";
در کدهای بالا ما پارامتر گزینه ها (options) را به تابع json_encode() پاس دادیم
گزینه های (options) مختلف Bitmask متشکل از JSON_HEX_QUOT ، JSON_HEX_TAG ، JSON_HEX_AMP ، JSON_HEX_APOS ، JSON_NUMERIC_CHECK ، JSON_PRETTY_PRINT ، JSON_UNESCAPED_SLASHES ، JSON_FORCE_OBJECT ، JSON_PRESERVE_ZERO_FRACTION ، JSON_UNESCAPED_UNICODE ، JSON_PARTIAL_OUTPUT_ON_ERROR ، JSON_UNESCAPED_LINE_TERMINATORS ، JSON_THROW_ON_ERROR می باشد.
خروجی کدهای بالا را در ادامه مشاهده می کنید:
1 Comment
بهترین سایت میباشدباآرزوی سلامتی وشادکامی وبهترینها برای مسولین سایت وموفقیت روزافزون…