我有一串分隔的数值,如下所示:
5|2288|502|4208|55|23217|235|10|3845|19053|1885|61|324|9004| ...etc.
根据具体情况,字符串可能只有1个值,15个值,一直到100个值,所有管道都是分隔的。
我需要计算(并保持/回显)前10个值并在此之后截断其他所有值。
我一直在查看所有PHP字符串函数,但是找不到直接处理它的方法是不成功的。
答案 0 :(得分:3)
使用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);
答案 1 :(得分:0)
使用PHP爆炸功能
$arr = explode("|",$str);
它会将完整的字符串分解为数组。 EG:arr [0] = 5,arr [1] = 2288 .....
答案 2 :(得分:0)
我会使用explode将字符串分成数组,然后像这样回显前10个结果
$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];
}
答案 3 :(得分:0)
请尝试以下代码
$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;