从数组中删除非整数条目

And*_*dré 15 php arrays

我有一个像这样的PHP数组:

array( [0] => 1
       [1] => 2
       [2] => 3
       [3] => Some strings
)
Run Code Online (Sandbox Code Playgroud)

如何从数组中删除不是整数的条目?我需要输出这个:

array( [0] => 1
       [1] => 2
       [2] => 3
)
Run Code Online (Sandbox Code Playgroud)

有人能给我一个线索吗?

adl*_*son 48

使用array_filteris_int

$filtered = array_filter($array, 'is_int');
Run Code Online (Sandbox Code Playgroud)

编辑:

如评论中所述,使用以下其中一种方法可能是更好的解决方案.

$filtered = array_filter($array, 'is_numeric');
$filtered = array_filter($array, 'ctype_digit');
Run Code Online (Sandbox Code Playgroud)

  • 您可以看看[`is_numeric`](http://php.net/manual/en/function.is-numeric.php)而不是`is_int` (2认同)
  • [ctype_digit](http://www.php.net/ctype_digit)可能比is_numeric更合适 (2认同)