我試圖操縱$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