我想在数组中剪切文本,但是我不知道要剪掉它,我尝试了strstr(),但是它不是真的。
我试着
$ff='';
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){
$ff .= $row['fav'] . ",";
}
if( strpos( $ff, "_" )) {
$text = strstr($ff, '_');
echo $text;
}$ff ='A_0089,A_5677,B_4387,A_B_5566‘
我要输出节目
0089 5677 4387,B_5566,
发布于 2017-03-15 17:50:03
下面是一个示例,将substr()与strpos()结合使用
$ff='A_0089,A_5677,B_4387,A_B_5566';
$items = explode(',', $ff);
foreach($items as $item) {
echo substr($item, strpos($item, '_')) . "\n";
}以上代码返回:
_0089
_5677
_4387
_B_5566最好不是构建字符串,而是构建数组。构建字符串的方式--您有一个悬挂的逗号,您不想要这个逗号。
$ff = array();
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){
$ff[] = $row['fav'];
}
foreach($ff as $item) {
echo substr($item, strpos($item, '_')) . "\n";
}基于您希望保留逗号并创建字符串的愿望:
$ff='A_0089,A_5677,B_4387,A_B_5566,';
$items = explode(',', $ff);
foreach($items as $item) {
$new[] = substr($item, strpos($item, '_'));
}
$newFF = implode(',', $new);
echo $newFF;返回:
_0089,_5677,_4387,_B_5566,发布于 2017-03-15 17:58:03
也许这就是你要找的
<?php
function test_alter(&$item1)
{
$pattern = '/^[A-Z]{1}[_]{1}/';
$item1 =preg_replace($pattern,"",$item1);
}
$ff="A_0089,A_5677,B_4387,A_B_5566,";
$nff=explode(",",$ff);
array_walk($nff, 'test_alter');
echo implode(",",$nff);
?>https://stackoverflow.com/questions/42816901
复制相似问题