好的,所以我有一个表单,它在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)
我解决了我的问题,我只是好奇为什么第一种方法不起作用.
PHP不支持从函数调用中解除数组.它是在PHP的SVN主干版本中实现的,因此它很可能会成为PHP的未来版本.现在你将不得不诉诸你现在正在做的事情.对于枚举数组,您还可以使用list:
list($day) = $this->input->post("days");
Run Code Online (Sandbox Code Playgroud)
请参阅:http://php.net/list
像这样的语法:
$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)
另一种方法可能是使用foreach如下迭代遍历数组:
foreach($this->input->post("days") as $day){
echo $day;
}
Run Code Online (Sandbox Code Playgroud)