Heim > Fragen und Antworten > Hauptteil
提交多张图片后。我把图片的$_FILES打印出来,进行foreach循环,如果没有报错的,打印出图片的$key值,我想把$key变成一个数组。
foreach($_FILES as $key=>$value){
if(!$value['error']){
print_r($key);
}}
然后用implode没有效果
var_dump一下,是三个字符串
ringa_lee2017-04-11 10:08:10
根据你评论下面的要求,写了这个观点,你看是否符合你的要求
$res = array();
foreach($_FILES as $key=>$value){
if(!$value['error']){
$res[]= array($key=>$value['tmp_name']);
}}
$res = array_values($res);
print_r($res);
ringa_lee2017-04-11 10:08:10
建议提问题的时候把问题场景描述清楚一点,不然大家很难给出准确有效的答案。
具体到你的问题,你只给了这么一小段字符串,无法知道它的规律是什么,只能猜测。
如果字符串是由规律的pic{数字}
拼接成的,那么可以这么处理:
$str = 'pic1pic12pic3';
$parts = explode('pic', $str);
$parts = array_filter($parts);
$result = array_map(
function ($part) { return 'pic' . $part; },
$parts
);
var_dump($result);
迷茫2017-04-11 10:08:10
试试array_keys
函数
如果你要排除上传错误的,就自己建
一个数组
$keys=array{};
然后在foreach
中把$key
加入数组
$keys[]=$key;
implode
是用来把数组元素组合成一个字符串的