تبدیل آرایه assoc به stdClass object

پرسیده شده
فعالیت 1575 روز پیش
دیده شده 1559 بار
4

با سلام خدمت استاد صالحی عزیز.

وقتی  که با تابع json_decode آرایه json رو به stdClass object تبدیل می کنیم اعضا به این صورت در خروجی چاپ میشه: 

stdClass Object ( [1] => stdClass Object ( [name] => ..

ولی وقتی که به صورت مستقیم آرایه رو به stdClass object  تدیل می کنیم خروجی به این صورته:

stdClass Object ( [1] => Array ( [name] =>...

و توی این حالت وقتی از دستور echo وقتی میخوایم عضوی رو چاپ کنیم خطا دریافت میشه»
 

echo ($usersToObjects->{1}->name->firstName);

از حالت اول هم که برای آرایه های assoc استفاده کنیم بازم خطا دریافت میشه.

 

ممنون میشم در این مورد راهنمایی کنید.

 

با تشکر

فایل پیوست

Mehdi Yaghoubi
Mehdi Yaghoubi

15 دی 98

7
حذف شده

json_decode تمام ساختار رشته دریافتی و ساختارهای تودرتوی داخل اون رو هم تبدیل می کنه ولی وقتی صرفا با Cast کردن نوع یک آرایه رو عوض می کنی الزاما برای عناصر درون اون آرایه اگر آرایه باشن اتفاقی نمی فته و تبدیلی صورت نمی گیره.

فایل پیوست

لقمان آوند

توسط

لقمان آوند

15 دی 98

حذف شده
سلام استاد آوند عزیز. تشکر بابت راهنمایی. پس در حالت دوم که نوع آریه تغییر میکنه بخوایم عضوی از آرایه رو چاپ کنیم به چه صورت باید انجام بشه؟ چون در حالت [ ] و <- هر دو خطا دریافت میشه
Mehdi Yaghoubi

15 دی 98

حذف شده
سلام این مورد رو در جلسه بعدی توضیح می دیم
وحید صالحی

16 دی 98

2
حذف شده

روش های مختلف تست کردم همشون خطا دریافت کرد ولی ظاهرا آخرش درست شد:

stdClass Object
(

    [1] => Array
        (
            [name] => hamid
            [email] => [email protected]
            [username] => hamid334
        )

با این دستور انجام شد:

echo $users->{1}["email"];

اگه روش به همین صورته یا روش دیگری هم وجود داره راهنمایی کنید ممنون میشم.

با تشکر

فایل پیوست

Mehdi Yaghoubi

توسط

Mehdi Yaghoubi

15 دی 98

حذف شده
سلام جناب یعقوبی این مورد رو در جلسه بعدی توضیح می دیم ...
وحید صالحی

16 دی 98

حذف شده
سلام استاد صالحی عزیز سپاسگذارم.
Mehdi Yaghoubi

16 دی 98