سلام،
به ابتدای array هم یک object باید اضافه کنید تا آرایه هم به آبجکت cast شود.
راه دیگر هم مطابق ویدیو میتونید از json_encode و در نهایت json_decode استفاده کنید.
نکته دیگر اینکه با توجه به دوتاپیکی که ایجاد کردید، چندین بار دیده شد در قسمت شرط بجای == از = (تک مساوی) که معنی انتساب مقدار را میدهد استفاده کردید.
حتما و حتما دقت کنید داخل شرطها == یا === میآید و = فقط برای ست کردن مقدار است.
$user = (object)[ "ali" => (object)[ "role" => "author", "age" => 17, "email" => "ali@gmail.com" ], "erfan" => (object)[ "role" => "admin", "age" => 28, "email" => "erfan@gmail.com" ], "sara" => (object)[ "role" => "editor", "age" => 22, "email" => "sara@gmail.com" ] ]; if ($user->ali->role == "author" && $user->ali->email == "ali@gmail.com") { echo "خوش آمدید مدیر محترم"; } else { echo "شما دسترسی به این بخش ندارید!!"; }