2015-09-17 4 views
0

Я разбор через некоторый код и возникаю проблемы понимания сниппаетPHP Синтаксис двойных квадратные скобки

$htmlinputs = array(); 

$htmlinputs['src']['available'] = array(); 

Я понимаю, что массив состоит из по имени вар из «htmlinputs», но я запутался о второй линии ,

Делает ли это второй массив по индексу 'src' и 'available'? это первый раз, когда «src» и «доступно» вообще упоминаются в коде.

+1

Он создает многомерный массив. –

+0

, если код между первой и второй строками отсутствует, первый не нужен. вторая строка определяет $ htmlinputs как многомерный массив. если есть другой код между этими двумя строками, возможно, что $ htmlinputs сначала используется как один размерный массив, а затем переопределяется во второй строке ... и это нехорошо. –

ответ

1

Двойные скобки обозначают multi-dimensional array. Это массив из одного или нескольких массивов. В примере вы дали

$htmlinputs['src']['available'] = array(); 

Если «ЦСИ» и «доступный» не упоминалось ранее в коде, индексы создаются с этим утверждением. Возможно, что это лишнее и может сочетаться с фактическим присвоением значений, или, возможно, это создает индексы из-за ограничений по объему.

+0

Я обновил свое объяснение. это утверждение создает их. –

+0

edit: спасибо за ответ так быстро, мог ли я получить доступ к индексам массивов, как обычно (например, $ htmlinputs [0] [0], или мне нужно было бы иметь «ключ» для доступа к самому внутреннему массиву?) –

+0

$ htmlinputs [0] [0] даст вам неопределенное смещение. var_dump ($ htmlinputs) покажет вам структуру. затем попробуйте var_dump ($ htmlinputs [0] [0], чтобы увидеть неопределенное смещение). это строковые индексы, а не целые индексы. –

Смежные вопросы