我有一个数组如下所示

$fruit = array('  apple ','banana   ', ' , ',     '            cranberry ');

我想要一个数组,其中包含的值没有空白两侧,但它可以包含空值如何在php中做到这一点。输出数组应该是这样的

$fruit = array('apple','banana', ',', 'cranberry');

当前回答

如果你想修剪和打印一维数组或多维数组的最深维度,你应该使用:

foreach($array as $key => $value)
{
    $array[$key] = trim($value);
    print("-");
    print($array[$key]);
    print("-");
    print("<br>");
}

如果你想修剪但不想打印一维数组或多维数组的最深维度,你应该使用:

$array = array_map('trim', $array);

其他回答

function trimArray(&$value) 
{ 
    $value = trim($value); 
}
$pmcArray = array('php ','mysql ', ' code ');
array_walk($pmcArray, 'trimArray');

通过使用array_walk函数,我们可以从数组元素中删除空格,元素返回相同数组中的结果。

Array_map和trim可以完成这项工作

$trimmed_array = array_map('trim', $fruit);
print_r($trimmed_array);

在使用多维数组时,我遇到了现有答案的麻烦。这个解决办法对我很管用。

if (is_array($array)) {
    foreach ($array as $key => $val) {
        $array[$key] = trim($val);
    }
}
$fruit= array_map('trim', $fruit);

Array_walk()可以和trim()一起使用来修整数组

<?php
function trim_value(&$value) 
{ 
    $value = trim($value); 
}

$fruit = array('apple','banana ', ' cranberry ');
var_dump($fruit);

array_walk($fruit, 'trim_value');
var_dump($fruit);

?>

参见http://www.php.net/manual/en/function.trim.php上的第二个例子