我试图操纵$array:
爆/爆炸PHP数组
Array ([0] => General [1] => Custom Title)
使用破灭,我可以得到$array
成一个空间分隔的各个部分:
<?php $pieces = implode(" ", $array); ?>
输出:
General Custom Title
但是,如果数组件是两个单词,它不起作用,因为我更喜欢t他输出为:
General Custom-Title
任何想法?
我试图操纵$array:
爆/爆炸PHP数组
Array ([0] => General [1] => Custom Title)
使用破灭,我可以得到$array
成一个空间分隔的各个部分:
<?php $pieces = implode(" ", $array); ?>
输出:
General Custom Title
但是,如果数组件是两个单词,它不起作用,因为我更喜欢t他输出为:
General Custom-Title
任何想法?
在内爆之前用连字符替换空格。
foreach ($arr as $idx => $val) {
$arr[$idx] = str_replace(" ", "-", $val);
}
$pieces = implode(" ", $arr);
使用'array_map()'的脚印应该低于'foreach()' – RichardBernards 2014-11-21 14:29:19
你必须为此使用一些字符串操作函数。我建议str_replace
与array_walk
(或array_map
)或简单foreach
循环的组合。
<?php
foreach ($myArray as $key => $value) {
$myArray[$key] = str_replace(' ' , '-', $value);
}
$output = implode(' ', $myArray);
?>
$x = array('Hallo X', 'Hallo Y');
echo implode(' ', (array_map(function($e) { return str_replace(' ', '-', $e); }, $x)));
甲一个衬里。缺陷是你可能在你的数组元素中有%%,但我怀疑这一点。
$pieces = str_replace('%%', ' ', str_replace(' ', '-', implode('%%', $array)));
你究竟是什么意思?你可以在连字符上做一个'str_replace',并用''替换它。 – androidavid 2014-11-21 14:04:43
首先迭代整个数组,并用短划线替换空格。然后使用implode。 – 2014-11-21 14:05:00
你不能用implode来逃避分隔符。它具有非常简单的实现。手动做。 – 2014-11-21 14:06:10