为什么我不能打破我在PHP中的内爆?

问题描述 投票:1回答:5

我试图在爆炸后使用内爆,然后打破一条线。例如,蓝白黄,我希望它们在不同的行中。所以我先使用跟随代码爆炸它,然后内爆“,”然后“”但是我没有任何问题在爆炸时打破一条线,但它有内爆的问题,我花了很多时间搜索答案,我似乎没有错,我错过了什么?

<?php
$color="blue white yellow";
$explode_color=explode(" ", $color);

$implode=array();
foreach($explode_color as $explode_colors){
    $implode[]=$explode_colors;
}

 $implode_color=implode(',', $implode);
 echo $implode_color."</br>";

?>

它在同一条线上像蓝色,白色,黄色一样回响,但我想在不同的行中打破它们。

php explode implode
5个回答
1
投票

你说你想要被<br>破坏,但随后你被','摧毁了。以下代码段将执行您想要的操作。

$color="blue white yellow";
echo implode("<br>", explode(" ", $color));
//⇒ blue<br>white<br>yellow

0
投票

你的代码是

$color="blue white yellow";
$explode_color=explode(" ", "$color);

请从$ color变量的前面删除“。

$color="blue white yellow";
$explode_color=explode(" ", $color);

implode函数返回一个字符串值,因此如果要查看多行中的颜色,则必须将其与<br/>而不是逗号(,)分开。谢谢。


0
投票

如果你想要每行一种颜色,为什么不从阵列打印呢?

// Define colors
$colors = 'blue white yellow';

// Explode to array
$colorsArray = explode(' ', $colors);

// Print colors
foreach($colorsArray as $color){
    echo $color.'<br/>';
}

但如果你真的想用,再次破坏他们:

// Define colors
$colors = 'blue white yellow';

// Explode to array
$colorsArray = explode(' ', $colors);

// Print colors
foreach($colorsArray as $color){
    echo $color.'<br/>';
}

// Implode again - this time with comma
$colorsNew = implode(',', $colorsArray);

// Explode again and print
$colorsExploded = explode(' ', $colors);
foreach($colorsExploded as $color){
    echo $color.'<br/>';
}

0
投票

这将获得所需的结果,但使用preg_replace()函数。

$color="blue white yellow";

$colors =  preg_replace('/ /', '<br/>',$color);

echo $colors;

结果是

blue<br/>white<br/>yellow

0
投票

将您的字符串分解为数组,然后使用<br>作为粘合剂将其内爆,这是不必要的复杂/间接。

相反,只需将数据保存为字符串并修改分隔符即可。

你有静态分隔字符(空格),所以preg_replace是矫枉过正,只需使用str_replace()

代码:(Demo

$color="blue white yellow";
echo str_replace(' ','<br>',$color);  // replace spaces with <br> tags

echo "\n\n---\n\n";

echo str_replace(' ',"\n",$color);  // this is what the rendered html will look like

输出:

// this is what the source code will look like
blue<br>white<br>yellow

---

// this is what the rendered html will look like
blue
white
yellow
© www.soinside.com 2019 - 2024. All rights reserved.