Это явно объект (обозначенный stdClass Object
в этом выводе), а не массив. Вы можете получить к нему доступ $all->{"abc@gmail.com"}
. Вот как вы вводите сложную интерполяцию вместо символа PHP, где символ нарушает правила именования PHP. Так, например, свойства объекта с дефисами или другими недопустимыми символами в них можно принудительно оценить как строки, а затем как имена свойств, заключив их в строки, а затем в фигурные скобки: $obj->{"this-is-ok"}
, тогда как $obj->this-is-not
.
В качестве примечания: если этот объект происходит от JSON, вы всегда можете принудительно сохранить его в виде массива, используя второй аргумент json_decode()
, который, если установить значение true
, заставит объект вместо этого будет построен как массив. Для некоторых людей это может облегчить разыменование ключей. Поэтому, если $all["abc@gmail.com"]
кажется вам более естественным, чем $all->{"abc@gmail.com"}
, это может быть лучшим подходом.