php用explode字符串后用一个符号链接,多出了一个符号
<?php
function gostrsplit($str) {
$str_array = explode(",",$str);
for ($j = 0; $j < count($str_array); $j++) {
//count也可以用sizeof函数,一定要<,$j < count($str_array);
if ($j != count($str_array)){
print $str_array[$j].'→';
}else {
print $str_array[$j];
}
}
}
echo gostrsplit("1,2,3");
?>
追问:其实我要拼成一个判断里面的条件
if ( ( $i_week == $arrayAttenddate[0] || $i_week == $arrayAttenddate[1] || $i_week == $arrayAttenddate[2] ) ) {
}
$arrayAttenddate[0] 是explode(",",$str)得到的
答案:因为上面的循环 j 最大值也就是2,所以不会走到 else 就会结束了。
你把
if ($j != count($str_array)){
修改成
if ($j+1 != count($str_array)){
应该就可以了
其他:这样更简单:
<?php
function gostrsplit($str) {
$str_array = explode(",",$str);
return implode('→', $str_array);
}
echo gostrsplit("1,2,3");
?> 你的意思是要把本来是由“,”分隔的字符串变成使用“→”分隔吗?
jlddy84给出的是解决方法,因为$j永远不等于count($str_array)。
还有方法是:
1、使用替换的方法,str_replace(",", "→", $str);
2、使用implode("→", $str_array);
这样不是简单一些。 你的要求准确说法叫“中文分词”。类似百度搜索那样的功能。
印象当中,DEDECMS出过一个PHP分词,你可以去找找看。
上一个:php中用COOKIE定位独立用户
下一个:PHP 如何获取XML 标签的内容