Я получаю странную ошибку, когда пытаюсь получить доступ к значению массива с помощью ключа.
Это массив, который у меня есть:
array:4 [▼
10 => "mr"
20 => "ms"
30 => "mrs"
40 => "dr"
]
Когда я пытаюсь
echo $titles[$user->title]
Я получаю ошибку неопределенный индекс ($ user-> title может иметь одно из 4 значений из ключей массива)
Когда я, например, пытаюсь
echo $titles[10]
Я получаю Мистер. И когда я повторяю $ user-> title, я получаю 10. Кто-нибудь знает, что здесь происходит?
Убедитесь, что $user->title - это '10'. Я подозреваю, что он содержит некоторые символы пробела (пробелы, новые строки и т. д.).






Поскольку такой тест вернул мне правильные значения:
$titles = [
10 => "mr",
20 => "ms",
30 => "mrs",
40 => "dr"
];
echo $titles[10];
echo "\n";
echo $titles['10'];
echo "\n";
Могу только догадываться, что у Вас есть пробелы или невидимые символы в атрибуте title.
Fix - это просто приведение типа, которое преобразует его в целое число:
echo $titles[(int)$user->title]
Что дает
var_dump($user->title);?