چرا وقتی یک ارایه بصورت [3,34,234,3] به json_encode پاس میدهیم مقداری که برمیگرداند از نوع string است!!!؟؟
سلام وقت بخیر
چون این تابع مقدار آرایه رو به رشته json تبدیل میکنه
موفق باشید ?
کیان سلگی۱۲ شهریور ۱۴۰۱، ۲۱:۱۳
ببینید، اگه به خروجی array1 میگوییم رشته json پس به خروجی متغییر array چی چیزی میگوییم؟(چون درواقع هردو آرایه هستن، یکی از نوع index و دیگری associative)
بعد مثلا وقتی decode شون میکنیم یکی میشه شی stdClass و دیگری یک آرایه میشه؛ این درحالیه که اول کار ما فقط داده ای از نوع آرایه داشتیم.
شما زمانی که آرایه رو تبدیل به رشته json میکنید و بعد اگر اون رو decode کنید اون موقع آرایه شما تبدیل میشه به object std class
برای این که این اتفاق نیوفته تابع json_decode یک پارامتر دومی داره که اون رو برابر true یا 1 قرار بدید مقدار بازگشتی این تابع به صورت آرایه انجمنی یا همون associative array خواهد بود.
برای درک بیشتر شما یک مثال زدم که تمام این حالتها رو شرح میده و میتونید بررسی بفرمایید.