我在PHP中有一个数组,它可能包含各种类型的元素。如何只保留字符串元素,并删除所有其他元素?
我知道我能做到
foreach ($array as $key => $val)
if (gettype($val) !== 'string')
unset($array[$key]);
但我想要一种更简单的方法来做到这一点 注意:我不关心数组的密钥以及它们是否保持不变。
答案 0 :(得分:3)
您可以使用PHP的函数array_filter()
和is_string()
在一行中完成。
$new = array_filter($array, "is_string");
array_filter()
只保留数组的元素,如果传递给回调函数(在这种情况下为is_string()
)将使回调返回true。