Можно ли использовать массив в качестве ключа в массивеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Можно ли использовать массив в качестве ключа в массиве

Сообщение Anonymous »

У меня есть этот массив (который в конечном итоге не работает и выдает недопустимую ошибку типа смещения.

Код: Выделить всё

protected $files = [
['jpeg', 'bmp'] => 'images',
['mp4', 'avi']  => 'videos',
]
Этот метод мне нужен.

Код: Выделить всё

public function getType($extension){
// my question is related to this method right here.
}
Это тестовая зона.

Код: Выделить всё

var_dump( (new FileDetector())->getType('jpeg') ); // this should return 'image'
Итак, идея здесь заключается в поиске в массиве $files.
Однако первая ошибка, которую я получаю при написании подобных вещей является '

Код: Выделить всё

Illegal offset type
'.
Я не могу создать массив, который выглядит следующим образом:

Код: Выделить всё

[
['jpg', ...] => 'images',
['avi', ...] => 'videos'
]
Это работает наоборот:

Код: Выделить всё

[
'images' => ['jpg', ...],
'videos' => ['avi', ...],
]
Можете ли вы объяснить мне, почему первый вариант не работает, или подсказать об этой ошибке, чтобы я мог посмотреть в Интернете и т. д.?
Во-вторых, это мой главный вопрос: есть много способов добиться того, чего я хочу, но мне нужен лучший метод, и этот способ мне кажется самым чистым.

Подробнее здесь: https://stackoverflow.com/questions/458 ... n-an-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»