假设我有一个这样的数组array('first item', 'seconditem', 'third item')
现在我想搜索变量中的所有项目(使用foreach
,因为我假设我不知道数组中有多少项)
我如何删除所有空格并将它们添加到一个新的数组中,具有几乎相同的结构,但它们将显示为:
array('firstitem','seconditem','thirditem')
而不是:
array('first item', 'seconditem', 'third item')
顺便说一句,在PHP中。
答案 0 :(得分:0)
试试这个:
function removeSpaces($input) {
foreach (array_keys($input) as $i) {
if (is_string($input[$i])) {
$input[$i] = preg_replace('/\s+/', '', $input[$i]);
} elseif (is_array($input[$i])) {
$input[$i] = removeSpaces($input[$i]);
}
}
return $input;
}
<强>用法:强>
$array = array('key1' => 'test item', array('first item', 117 => 'seconditem', 'third item'));
$array = removeSpaces($array);
print_r($array);
<强>输出:强>
Array
(
[key1] => testitem
[0] => Array
(
[0] => firstitem
[117] => seconditem
[118] => thirditem
)
)
此功能可通过自定义键进行递归和保护! :)强>
答案 1 :(得分:0)
怎么样
$arr = array('firstitem', 'second item', 'third item');
array_walk($arr, function(&$value, $key) { $value = str_replace(' ', '', $value); });
print_r($arr);
给出
Array
(
[0] => firstitem
[1] => seconditem
[2] => thirditem
)
如果您不想更改原始数组,请先复制它($arr2 = $arr
);