PHP搜索数组中的值-如果所有值都是数字,则返回true,如果不是,则返回false


PHP Search values in array - Return true if all are numbers, false if not

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

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

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

谢谢大家:)

您可以使用is_numeric函数-

$count = count($your_array);
for($index=0; $index<$count; $index++)
{
    if( !is_numeric($your_array[index]) )
        return false;
}
  if(in_array(false, array_map("is_numeric", array(1, 2, 3, 4, 5, "string"))))
    return false;

对不起,我没有研究演出。但这些都是内置功能,据称比任何自定义功能都快。。。

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