无需额外变量即可访问CI POST阵列

时间:2015-08-13 15:05:07

标签: php codeigniter

有没有办法在CodeIgniter中没有额外变量的情况下访问已发布的数组值?

示例:

POST数据:

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

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

测试1:

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

编辑:测试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...

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

2 个答案:

答案 0 :(得分:3)

这绝对有效:

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

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

唯一不适用的方案是使用php版本低于5.4:

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

答案 1 :(得分:2)

测试1适用于PHP 5.4+(功能阵列解除引用)

您也可以

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