【发布时间】:2018-10-09 14:21:32
【问题描述】:
我用 Zend 上传了几个文件,并想计算 $data 数组以获取文件名。
$data = array_merge_recursive(
$this->getRequest()->getPost()->toArray(),
$this->getRequest()->getFiles()->toArray()
);
我在另一篇文章中找到了这个计数代码
array_sum(array_map("count", $data))-1;
它给出了正确数量的碎片,我可以得到名字,但它也给出了一个警告:
警告:count():参数必须是数组或对象 实现可数
我试图给出其他维度,例如:
array_sum(array_map("count", $data['fieldname']))-1;
但正如预期的那样,它不起作用。
任何帮助表示赞赏!唯一的问题是如何获取给定文件名的数量。
***关于答案的编辑我发布了 $data 数组的截图,这是正确的
这里有警告的语句算什么(当然 1 是减去)。也许还有另一种可能。
所以一切可能都很好,但我想摆脱警告。
【问题讨论】:
-
我认为 getPost() 已经返回了一个数组,试试吧。 stackoverflow.com/questions/3745865/…
-
我不是 zend 人,但
count($this->getRequest()->getFiles()->toArray())会给你一个文件数吗? -
@Jules R. 不,这是不对的,我在这个数组中得到了我想要的一切,但我数不清。 array_summ XX 计数也正确,但会发出警告
-
@Nigel Ren 如果我选择 3 个文件,结果为 1
-
@pia-sophie 你试过没有吗?
标签: php zend-framework zend-form zend-framework3