$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 استفاده کنی و از ایندکس عددی استفاده کردی باید عدد مربوطه را داخل { } بیاری تا مشکل برطرف بشه .