前言:
前几天写了个PHP文件上传实例,在写完后,小幻同学说我用explode(“.”,$file);来分割后输出数组第二位判断文件尾缀可能导致上传挂马。其实想了想真的是这样,比如我上传xx.jpg.PHP 这样就跳过判断产生BUG了。DBUG的方法是可以使用array_severse();数组函数调转数组,然后取[0]这个键值。或者使用end();来取最后的尾缀。
一些数组函数:
其实谈不上什么深入,这些只不过是一些不太常用的Array函数列表,当然不是凤毛麟角型的,主要挑选出一些在逻辑编程中可能用到的。
array_flip();//交换数组中的键和值 value变成key,key变成value /*用途:我们可以在程序里进行反向索引*/ array_pop();//将最后一个元素出栈(删除)若无元素或者不是数组返回NULL /*我们可以用它来进行数组逻辑编译*/ array_rand();//从数组中随机取出一个或多个单元 in_array(value,array,type);//检查array中是否存在value的值 type为true时对字符串搜索区分大小写。返回值为布尔值。 end();//取出数组中最后一个元素的值。 shuffle();//将数组元素打乱,这个也很有用。 next();//将数组内指针后移一位,默认使用后指向[1] prev();//将数组内指针前移一位。
还有很多诸如“合并数组”“交集数组”“差集”“填补”“入栈”等冷门函数我没有写,数组函数共有79个,想要学习其他的同学们,可以去翻手册然后结合w3c的案列学习。