访问没有额外变量的CI POST数组


Access CI POST array without extra variable

是否有一种方法可以访问张贴的数组值,而无需在CodeIgniter中添加额外的变量?

的例子:

POST数据:

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

模型/控制器,检索第一个值("abc"):

测试1:

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

EDIT: Test 1 works,我有一个错字,当我尝试…

测试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...

我可以避免额外的步骤吗?

这绝对可以工作:

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

这是一个数组,你的测试1和测试3之间没有太大的区别,你应该能够在两种情况下访问[1]

如果您使用的php版本低于5.4,则此操作将无法正常工作:

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

测试1适用于PHP 5.4+(函数数组解引用)

你也可以写

list($first, $second, $third) =  $this->input->post('data');