我有分隔的数值只是一个像这样的字符串:如何截断PHP中的分隔字符串?
5|2288|502|4208|55|23217|235|10|3845|19053|1885|61|324|9004| ...etc.
根据不同的情况下,该字符串可能只有1个值,15个值,最多值100秒一路,分隔的所有管道。
我需要计数(并保留/回显)前10个值,然后截断其他所有内容。
我一直在寻找所有的PHP字符串函数,但一直没有找到一个方法直接处理这个问题。
我有分隔的数值只是一个像这样的字符串:如何截断PHP中的分隔字符串?
5|2288|502|4208|55|23217|235|10|3845|19053|1885|61|324|9004| ...etc.
根据不同的情况下,该字符串可能只有1个值,15个值,最多值100秒一路,分隔的所有管道。
我需要计数(并保留/回显)前10个值,然后截断其他所有内容。
我一直在寻找所有的PHP字符串函数,但一直没有找到一个方法直接处理这个问题。
使用explode()
将元素分隔成一个数组,然后你可以切掉第10个和implode()
它们来创建新的字符串。
$arr = "5|2288|502|4208|55|23217|235|10|3845|19053|1885|61|324|9004";
$a = explode ('|',$arr);
$b = array_slice($a,0,10);
$c = implode('|', $b);
这是完美的!谢谢。正是我在找什么。很显然,我在错误的地方寻找解决方案...... – 2015-03-19 04:34:39
使用PHP爆炸功能
$arr = explode("|",$str);
这将打破整个字符串到一个数组。 EG:ARR [0] = 5,ARR [1] = 2288 .....
我会使用爆炸到串分离成一个数组然后回声第一十个结果这样
$string = "5|2288|502|4208|55|23217|235|10|3845|19053|1885|61|324|9004";
$arr = explode("|", $string);
for($i = 0; $i < 10; $i++){
echo $arr[$i];
}
请尝试以下代码
$str = '5|2288|502|4208|55|23217|235|10|3845|19053|1885|61|324';
$arrayString = explode('|', $str);
$cnt = 0;
$finalVar = '';
foreach ($arrayString as $data) {
if ($cnt > 10) {
break;
}
$finalVar .= $data . '|';
$cnt++;
}
$finalVar = rtrim($finalVar, '|');
echo $finalVar;
可以使用爆炸功能和使用foreach循环打印值高达10 – 2015-03-19 04:19:04