🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ محمد مهدی نادری
مشکل استفاده از ایندکسهای عددی در نوشتن شروط
امیر صالحی حل شده توسط امیر صالحی
$users = (object)array(
    "1"=>
    (object)
             [ 
                "name" => "ali",
                "age" => 21,
                "city" => "tabriz",
            ],
    "2"=>
    (object)
             [
                "name" => "ahmad",
                "age" => 21,
                "city" => "tehran",
             ],
    "3"=>
    (object)
             [
                "name" => "maryam",
                "age" => 25,
                "city" => "shiraz",
             ]
);
if($users ->{1} -> city == "tehran"){
    //در این جا اگر در مقابل یوزر ایندکس یک را بدون هیچ نشانه ای بگذاریم ارور می‌دهد اما در آکولاد ارور نمی‌دهد
    echo "Welcome ahmad";
}else{
    echo "user not found!";
}
//وقتی در شرط ایندکس 1(یک) را خارج از {}مینویسم خطا میدهد. جالب‌تر اینکه وقتی به جای 1 ایندکسهای  رشته ای می‌گذارم خطا نمی‌دهد ولی کلا با عدد بدون آکلاد مشکل دارد. دلیل آن چیست

 

سلام و احترام

زمانی که شما قصد دارید کلیدهای یک آبجکت را صدا بزنید و از آن استفاده کنید حتما باید کلید فراخوانی شده رشته باشد ن عدد  اما اگر در مواقعی شما مجبور به صدا زدن عدد شدید باید آن را درون { }  آکولاد قرار دهید تا مفسر PHP بتوانید برنامه شما را اجرا کند و آن را به عنوان یک خطا در نظر نگیرد.

باز اگه سوالی بپرسید من در خدمتم

موفق باشید

بهترین پاسخ
امیر صالحی ۲۵ مهر ۱۳۹۹، ۲۰:۲۱

طبق توضیحات استاد صالحی مدرس این دوره به شما گفته شد که وقتی ارایه تبدیل به ابجکت میشه و شما میخواهید از دستور echo استفاده کنی و از ایندکس عددی استفاده کردی باید عدد مربوطه را داخل { } بیاری تا مشکل برطرف بشه .

Mehrjoo ۱۵ فروردین ۱۴۰۰، ۱۷:۱۷