有没有一种简单的方法可以检查数组的所有元素是否都是特定类型的实例而不循环所有元素?或者至少是一种从数组中获取所有X类型元素的简单方法。

最佳答案

如果不检查所有数组元素就无法实现此目的,但是可以使用内置的数组函数来帮助您。

您可以使用 array_filter 返回一个数组。您需要提供自己的回调函数作为第二个参数来检查特定类型。这将检查数组的数目是否为偶数。

function even($var){
  return(!($var & 1));
}

// assuming $yourArr is an array containing integers.
$newArray = array_filter($yourArr, "even");
// will return an array with only even integers.

根据VolkerK的评论,从PHP 5.3+开始,您还可以传入一个匿名函数作为第二个参数。这与上面的示例等效。
$newArray = array_filter($yourArr, function($x) { return 0===$x%2; } );

关于php - 在所有数组元素中进行类型检查,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2323013/

10-12 00:47
查看更多