2015-08-13 3 views
1

Есть ли способ получить доступ к опубликованному массиву без дополнительной переменной в CodeIgniter?Доступ к массиву POI POI без дополнительной переменной

Пример:

POST данные:

data[1]=abc&data[2]=bcd&data[3]=dca 

Модель/контроллер, получить первое значение ("ABC"):

Тест 1:

$first = $this->input->post('data')[1]; // doesn't work 

EDIT: Тест 1 работает, у меня была опечатка, когда я пробовал ...

Тест 2:

$first = $this->input->post('data[1]'); // doesn't work 

Тест 3:

$data = $this->input->post('data'); // add post array to variable 
$first = $data[1]; // works... 

Могу ли я избежать дополнительный шаг?

+1

Это не имеет никакого смысла, что тест-не будет работать и Test 3 делает ... – mellamokb

+1

Это делает, в зависимости от версии PHP. –

ответ

3

Это точно должно работать:

$first = $this->input->post('data')[1]; 

Это массив, нет большой разницы между тест 1 и тест 3, Вы должны быть в состоянии получить доступ к [1] в обоих случаях.

Единственный сценарий, что это не будет работать, если вы используете версию PHP 5.4 сильфона:

https://wiki.php.net/rfc/functionarraydereferencing

+1

Если у вас есть хотя бы php5.4 –

+0

Отлично, тест 1 работает. У меня была еще одна опечатка ... – jtheman

2

Test 1 работает для PHP 5.4+ (функция массива разыменования)

Вы также можете у

list($first, $second, $third) = $this->input->post('data'); 
Смежные вопросы