我尝试从可用字符串中拆分字符,但没找到正确的方法。
我有一个如下字符串:
$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'
答案 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";
}
?>
输出
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>";
}