从CodeIgniter中的post数组中获取数据

Roc*_*mat 9 php codeigniter

好的,所以我有一个表单,它在POST数组中发送数组.我试着这样读:

$day = $this->input->post("days")[0];
Run Code Online (Sandbox Code Playgroud)

这不起作用.PHP说"意外"['".为什么这不起作用?

我通过这样做来修复它:

$days = $this->input->post("days");
$day = $days[0];
Run Code Online (Sandbox Code Playgroud)

我解决了我的问题,我只是好奇为什么第一种方法不起作用.

Dan*_*erg 9

PHP不支持从函数调用中解除数组.它是在PHP的SVN主干版本中实现的,因此它很可能会成为PHP的未来版本.现在你将不得不诉诸你现在正在做的事情.对于枚举数组,您还可以使用list:

list($day) = $this->input->post("days");
Run Code Online (Sandbox Code Playgroud)

请参阅:http://php.net/list


Sar*_*raz 8

像这样的语法:

$day = $this->input->post("days")[0];
Run Code Online (Sandbox Code Playgroud)

PHP不支持.你应该做你正在做的事情:

$days = $this->input->post("days");
$day = $days[0];
Run Code Online (Sandbox Code Playgroud)


Ger*_*llo 7

另一种方法可能是使用foreach如下迭代遍历数组:

foreach($this->input->post("days") as $day){
    echo $day;
}
Run Code Online (Sandbox Code Playgroud)