我用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是减去)。也许还有其他的可能性可以计算。

所以一切都可能很好,但我想摆脱警告。
发布于 2018-10-10 06:24:01
从添加的$data数组屏幕截图判断,您不应该这样做吗?
count($data['PAD_Document_Path'])通过循环获得特定文件名,如下所示
foreach($data['PAD_Document_Path'] as $key => $value) {
$name = pathinfo($value)['filename'];
// do stuff with name
}见帕辛弗。在该文档页面中:
示例1 pathinfo()示例上面的示例将输出: /www/htdocs/inc lib.inc.php php lib.inc
https://stackoverflow.com/questions/52723313
复制相似问题