💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ امید عرب زادگان
خطا در استفاده از stdClass Object
وحید صالحی حل شده توسط وحید صالحی

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

زمانی که از (object) استفاده میکنم وقتی که میخوام echo انجام بدم با ارور مواجه میشم.

اشکال کار من کجاست؟

در این کد زمانی که از print_r استفاده میکنم و فقط خود strObject را پرینت میکنم به صورت درست نمایش میده

<?php
$cars = array(
    "1" => array(
        "benz" => array(
            "truck" => "axor",
            "car" => "sls"
        )
        ),
     "2" => array(
         "bmw" => "z4",
         "audi" => "TT"
        ),
        );
$strObject = (object) $cars;
echo ($strObject->{2}->bmw);

 

سلام ببینید زمانی که آرایه بیش از یک بُعد داشته باشه باید به ازای هر آرایه یک بار عمل cast کردن یا به عبارتی تبدیل آرایه به آبجکت رو انجام بدید الان شما اگر متغیر car  رو var_dump کنید می‌بیند که صرفا بُعد اول آرایه به آبجکت تبدیل میشه ولی آرایه‌های بعدی هنوز آرایه هستند که از روش دیگه ای که در جلسه بعد توضیح دادیم برای تبدیل کل آرایه به آبجکت باید استفاده کنیم ...

بهترین پاسخ
وحید صالحی ۱۷ دی ۱۳۹۸، ۱۷:۰۹