in_array,针和干草堆都是阵列

  • 本文关键字:干草堆 阵列 array in php
  • 更新时间 :
  • 英文 :


是否有一个函数可以检查一些值的数组吗?我有2个阵列,1个带有文件扩展名的数组,1个带有混合的东西。in_array仅与字符串一起工作。

已经谢谢!

文件的示例:

picture21474.png

允许扩展:

$extensions = array('gif', 'jpg', 'png');

我在文件上的点上爆炸。但是,当您使用爆炸时,文件将设置为array()。现在,我会检查文件扩展名是否合法。诸如in_array($ Extensions,$ ExplodedFile)

之类的东西

有2个功能可能会帮助您:

  1. array_intersect ( array $array1 , array $array2 [, array $... ] )array_intersect()返回一个包含所有参数中存在的array1值的数组。请注意,保留了钥匙。http://ro1.php.net/manual/en/function.array-intersect.php

  2. array_diff ( array $array1 , array $array2 [, array $... ] )将Array1与一个或多个其他数组进行比较,并返回其他任何数组中不存在的Array1中的值。http://ro1.php.net/array_diff

您可以尝试使用array_intersect

$intersect = array_intersect($array1, $array2);
echo count($intersect) . ' elements in array2';

如果要检查$array1中的所有元素是否在$array2中,请:

if (count($intersect) == count($array1)) {}

编辑:

如果要检查File的扩展名是否包含扩展名数组中,请执行:

$filename   = 'picture21474.png';
$extensions = array('gif', 'jpg', 'png');
list($name, $extension) = explode('.', $filename);
if (in_array($extension, $extensions) ) {
  // extension is valid
}

编辑2:

有效获取文件扩展名:

$filename = 'picture21474.png';
$info     = pathinfo($filename);
if (in_array($info['extension'], $extensions) ) {
  // extension is valid
}

最新更新