Php 如何使用大写字母作为分隔符分解字符串?

Php 如何使用大写字母作为分隔符分解字符串?,php,Php,嗨,我正试图用php explode实现这一点,但我在做这件事时遇到了麻烦 这是我的密码 <?php $capitals = array("A","B","C"); $word_break = "brandonBjakeCsullano"; $count = 0; while ($count <=2) { $break = explode($capitals[$count++],$word_break) } echo $break[0]; echo "<br/>

嗨,我正试图用php explode实现这一点,但我在做这件事时遇到了麻烦

这是我的密码

<?php
$capitals = array("A","B","C");
$word_break = "brandonBjakeCsullano";

$count = 0;

while ($count <=2)
{

$break =  explode($capitals[$count++],$word_break)


}
echo $break[0];
echo "<br/>";
echo $break[1];

?>

使用上述代码,我可以得到以下结果:

brandonBjake

sullano

这就是我想要实现的

brandon

杰克

sullano

谢谢你的帮助

任何策略都是可以接受的,而不是我的风格。。
提前感谢

尝试使用
str_replace
explode
作为

$capitals = array("A","B","C");
$word_break = "brandonBjakeCsullano";
$word_break = str_replace($capitals, '/',$word_break);
print_r(explode('/',$word_break));//Array ( [0] => brandon [1] => jake [2] => sullano )
已编辑 如果你想回音,就把它当作

echo implode('<br>',explode('/',$word_break));// instead of print_r
2) 如果你使用

3) 如果你使用

试试这个:

<?php
$capitals = array("A","B","C");
$word_break = "brandonBjakeCsullano";
$arr=str_split($word_break);
for($i=0;$i <=strlen($word_break);$i++){
    for($j=0;$j<=2;$j++){
        if($arr[$i]!=$capitals[$j]){
            $flag=TRUE;
        }
        else{
            $flag=FALSE;
            echo '<br>';
            break;
        }

    }
    if($flag==TRUE){
        echo $arr[$i];
    }
}

?>

这里是另一个可以尝试的方法:

<?php
$capitals = array("A","B","C");
$string = "brandonBjakeCsullano";

$count = 0;
$capitals = array("A","B","C");
$string = "brandonBjakeCsullano";
$string = str_replace($capitals, '/',$string);
$res= explode('/',$string);
foreach($res as $value){ 
    echo $value."<br>";   
}
?>

供您参考

总是有一个好的旧版本,它允许您使用正则表达式将字符串拆分为数组

类似于(未经测试):



出于好奇,为什么要使用大写字母作为字符串分隔符?我强烈建议使用其他方法来识别拆分/分解。是的,我也想使用“-”或“/”,但我的老板希望我使用大写字母并将其放入数组中。。感谢有人能解决此问题。
$break
正在
循环中重置。您刚刚获得第三次爆炸的结果。右边的Epodax关于使用单个非字母分隔符。是的,我想使用字母以外的另一个分隔符,但我们的文件不符合此流程。有人能告诉我下面哪种代码运行得更快吗?因为它们现在都工作得很好,所以速度很重要。我看不出需要更多的循环。很好的策略:)是的,不需要使用循环就可以轻松实现。检查我编辑的答案,它将在不使用循环的情况下响应你的价值观。我可以向我的老板介绍这一点,他选择了这个答案。谢谢兄弟!!继续分享你的才能我可以知道上面的查询方式是否会运行得更快吗?我不明白你的问题。我的意思是这里有一些答案很好,但我可以知道哪一个工作得更快吗?如果你想要漂亮的样式输出,我的答案会更快,看起来也不错。你必须根据你的要求决定最佳答案。你能给出答案吗使用这种风格的工作代码?我很确定我发布的代码应该可以工作。你试过了吗?
$names
变量的值是多少?是的,我尝试过,但我不确定如何使用此样式回显该值一旦有了数组,您就可以循环遍历它或使用
print\r
查看其内容。在这里的其他答案中有这两种方法的例子。我仍然好奇如何使用这种风格,它看起来很有趣
OK (0.012 sec real, 0.015 sec wall, 14 MB, 44 syscalls)
<?php
$capitals = array("A","B","C");
$word_break = "brandonBjakeCsullano";
$arr=str_split($word_break);
for($i=0;$i <=strlen($word_break);$i++){
    for($j=0;$j<=2;$j++){
        if($arr[$i]!=$capitals[$j]){
            $flag=TRUE;
        }
        else{
            $flag=FALSE;
            echo '<br>';
            break;
        }

    }
    if($flag==TRUE){
        echo $arr[$i];
    }
}

?>
<?php
$capitals = array("A","B","C");
$string = "brandonBjakeCsullano";

$count = 0;
$capitals = array("A","B","C");
$string = "brandonBjakeCsullano";
$string = str_replace($capitals, '/',$string);
$res= explode('/',$string);
foreach($res as $value){ 
    echo $value."<br>";   
}
?>
brandon
jake
sullano
$names = preg_split( '/[A-Z]/', 'brandonBjakeCsullano' );
print_r( $names );