PHP在数组中搜索值 - 如果全部是数字则返回true,否则返回false

时间:2012-04-01 06:41:40

标签: php arrays search

好的,愚蠢的问题在这里...只是试图在数组中进行搜索以确保所有值都是数字,如果没有,我需要返回false。什么是最快的方法。这个数组可能很大。顺便说一句,它不是一个多维数组,并且其中没有任何子数组。它只是一个单级数组......例如:

array(1, 5, 6, 2, 44, 92, 50, string);

这应该返回false,因为string是数组中的值之一而不是数字。我的意思是,有没有比在数组上使用foreach并在每个值上使用intval更快的方法?

谢谢你们:)

3 个答案:

答案 0 :(得分:3)

您可以使用is_numeric功能 -

$count = count($your_array);

for($index=0; $index<$count; $index++)
{
    if( !is_numeric($your_array[index]) )
        return false;
}

答案 1 :(得分:3)

  if(in_array(false, array_map("is_numeric", array(1, 2, 3, 4, 5, "string"))))
    return false;

我还没有研究过表现,对不起。但这些都是内置功能,据称比自定义的任何东西都要快......

答案 2 :(得分:1)

foreach($array as $value)
{
    if(!is_numeric($value))
    {
       return false;
    }
}