使用PHP

时间:2018-01-09 11:41:28

标签: php

我尝试从可用字符串中拆分字符,但没找到正确的方法。

我有一个如下字符串:

$tara = 'wordpress/corporate/business';
$k = explode('/', $tara);
foreach ($k as $l) {
    var_dump(substr_replace($tara, '', $i, count($l)));
}

我想要的结果是:

'wordpress',
'wordpress/corporate',
'wordpress/corporate/business'

5 个答案:

答案 0 :(得分:4)

你可以在每次迭代中连接,如:

$tara = 'wordpress/corporate/business';
$k = explode('/', $tara);
$result = "";

foreach ($k as $l) {
    $result .= '/'.$l;
    echo $result."<br>";
}

输出将是:

  

/ WordPress的
  / WordPress的/企业
  / WordPress的/公司/业务

如果您在开始时不需要斜杠,则可以添加如下条件:

$tara = 'wordpress/corporate/business';
$k = explode('/', $tara);
$result = "";

foreach ($k as $l) 
{
    if( empty($result) ){
        echo $l."<br>";
        $result = $l;
    }else{
        $result .= '/'.$l;
        echo $result."<br>";
    }
} 

或者使用带有三元操作的缩短版内循环,例如:

foreach ($k as $l) 
{
    $result .= empty($result) ? $l : '/'.$l;
    echo $result."<br>";
}

输出将是:

  

的wordpress
  WordPress的/企业
  的wordpress /公司/业务

答案 1 :(得分:2)

如何使用数组提示构建结果:

$tara = 'wordpress/corporate/business';
$k = explode('/', $tara);

$s = '';
foreach ($k as $l) {
    $s .= ($s != '' ? '/' : '') . $l;
    var_dump($s);
}

这导致:

  

string(9)“wordpress”

     

string(19)“wordpress / corporate”

     

string(28)“wordpress / corporate / business”

答案 2 :(得分:1)

你应该爆炸你的字符串数组并使用implode和temporary数组(例如)在foreach中打印所有爆炸值。这是工作代码:

$tara = 'wordpress/corporate/business';
$k = explode('/', $tara);
$tmp = [];

foreach ($k as $l) {
    $tmp[] .= $l;
    var_dump(implode($tmp, '/'));
}

答案 3 :(得分:0)

在foreach中创建新数组

<?php
$tara = 'wordpress/corporate/business';
$url = array();
foreach(explode("/",$tara) as $val){
  $url[] = $val;
  echo implode("/",$url)."\n";  
}
?>

演示:https://eval.in/932527

输出

wordpress
wordpress/corporate
wordpress/corporate/business

答案 4 :(得分:0)

试一试,最简单:

$tara = 'wordpress/corporate/business';
$k = explode('/', $tara);
$str = array();
foreach ($k as $l) {
   $str[] = $l;
   echo implode('/',$str)."<br>";
}