我有一个数组如下所示
$fruit = array(' apple ','banana ', ' , ', ' cranberry ');
我想要一个数组,其中包含的值没有空白两侧,但它可以包含空值如何在php中做到这一点。输出数组应该是这样的
$fruit = array('apple','banana', ',', 'cranberry');
我有一个数组如下所示
$fruit = array(' apple ','banana ', ' , ', ' cranberry ');
我想要一个数组,其中包含的值没有空白两侧,但它可以包含空值如何在php中做到这一点。输出数组应该是这样的
$fruit = array('apple','banana', ',', 'cranberry');
当前回答
Array_map ('trim', $data)将所有子数组转换为null。如果只需要为字符串修剪空格,而保持其他类型不变,你可以使用:
$data = array_map(
function ($item) {
return is_string($item) ? trim($item) : $item;
},
$data
);
其他回答
Array_map和trim可以完成这项工作
$trimmed_array = array_map('trim', $fruit);
print_r($trimmed_array);
function trimArray(&$value)
{
$value = trim($value);
}
$pmcArray = array('php ','mysql ', ' code ');
array_walk($pmcArray, 'trimArray');
通过使用array_walk函数,我们可以从数组元素中删除空格,元素返回相同数组中的结果。
如果值为NULL,则在array_map中修改类型。
更好的做法是:
$result = array_map(function($v){
return is_string($v)?trim($v):$v;
}, $array);
简单地说,您可以使用正则表达式修剪所有空格或缩小数组项
$array = array_map(function ($item) {
return preg_replace('/\s+/', '', $item);
}, $array);
在使用多维数组时,我遇到了现有答案的麻烦。这个解决办法对我很管用。
if (is_array($array)) {
foreach ($array as $key => $val) {
$array[$key] = trim($val);
}
}