با شما در این روزهای سخت همراهیم (۴۰٪ تخفیف کمپین همدلی)
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ M
انتخاب ایندکسی از Object
جامعه پی اچ پی ایجاد شده در ۲۵ خرداد ۱۴۰۱

سلام وقتتون بخیر.

من وقتی آرایه رو تبدیل به json و دوباره decode میکنم ، به روشی که استاد گفتند میتونم ایندکس مشخصی رو چاپ کنم. اما وقتی آرایه رو مستقیم به object تبدیل میکنم برای مشخص کردن ایندکس با هر دو روش با این ارور مواجه مشیم . Warning: Attempt to read property "email" on array in C:\\xampp\\htdocs\\7learn.php\\04-Array\\array-3.php on line 46


$user=array(
    "User_1"=>[
        "name"=>[
            "FirstName"=>"abbas",
            "LastName"=>"Rezaei",
        ],
        "email"=>"ali@gmail.com",
        "username"=>"ali0011"
    ],
    "User_2"=>[
        "name"=>"hossein",
        "email"=>"hos@gmail.com",
        "username"=>"ali0011"
    ],
    "User_3"=>[
        "name"=>"rza",
        "email"=>"reza@gmail.com",
        "username"=>"reza11"
    ],
    "User_4"=>[
        "name"=>"mmd",
        "email"=>"mmd@gmail.com",
        "username"=>"mmd34"
    ],
);
// array to json
$JsonSTR=json_encode($user);
echo $JsonSTR;
echo  "
"
; // json to object $JsonDecode=json_decode($JsonSTR); print_r($JsonDecode); echo "
"
; // selected index echo ($JsonDecode -> User_1 -> name -> FirstName); echo "
"
; // array to object $userToObj=(object) $user; print_r($userToObj); echo "
"
; echo ($userToObj -> User_2 -> email);

سلام دوست عزیز

شما به اون روشی که رفتید به صورت مستقیم نمیتونید آرایه‌های تو در تو رو تبدیل به آبجکت کنید

برای هر لول تو رفتگی باید cast کنید به اون روش

موفق باشید ??

محمد گازری ۲۵ خرداد ۱۴۰۱، ۰۷:۵۰

مرسی تشکر .

M ۲۵ خرداد ۱۴۰۱، ۰۷:۵۳

خواهش میکنم موفق باشید ?

میتونید تاپیک رو به حالت حل شده در بیارید

بهترین پاسخ
محمد گازری ۲۵ خرداد ۱۴۰۱، ۰۷:۵۴

الان به این روش اوکی شد.

"name"=>[
            "FirstName"=>"abbas",
            "LastName"=>"Rezaei",
        ],
        "email"=>"ali@gmail.com",
        "username"=>"ali0011"
    ],
    "User_2"=>[
        "name"=>"hossein",
        "email"=>"hos@gmail.com",
        "username"=>"ali0011"
    ],
    "User_3"=>[
        "name"=>"rza",
        "email"=>"reza@gmail.com",
        "username"=>"reza11"
    ],
    "User_4"=>[
        "name"=>"mmd",
        "email"=>"mmd@gmail.com",
        "username"=>"mmd34"
    ],
);
$JsonSTR=json_encode($user);
echo $JsonSTR;
echo  "";
$JsonDecode=json_decode($JsonSTR);
print_r($JsonDecode);
echo  "";
echo ($JsonDecode -> User_1 -> name -> FirstName);
echo  "";
$userToObj=(object) $user;
print_r($userToObj);
echo "";
// selected index in object
print_r($userToObj -> User_4 ["email"]);
M ۲۵ خرداد ۱۴۰۱، ۰۸:۰۷