提问者:小点点

如何在PHP中从新行的单个列中回显多个项


我的数据库中有两列,其中包含从多个选择框输入的值。我曾经

$skills = join($_POST['skillSelect'],',');
$languages = join($_POST['languageSelect'],',');

在数据库中格式化它们。现在我想在不同的页面上向用户显示它们。它们确实会显示,但我希望每一个都显示在不同的行上。例如,假设用户输入“Java、PHP、JavaScript”作为其语言值。我希望它们显示为:

<p>Java</p>
<p>PHP</p>
<p>JavaScript</p>

然而,他们只是表现为

Java, PHP, JavaScript

下面是我使用foreach循环和分解的尝试:

<?php
    $languages_explode = explode(PHP_EOL, $_SESSION['languages']);
    foreach($languages_explode as $language) {
       echo $language;
     }
?>

我还尝试:

echo "<p>".$language."</p>";

我以为PHP_EOL分隔符会正确格式化它,但我错了。如何在新行(最好在段落标记内)显示每个项目?谢谢


共2个答案

匿名用户

换行

$languages_explode = explode(PHP_EOL, $_SESSION['languages']); 

$languages_explode = explode(",", $_SESSION['languages']); 

然后呢

echo "<p>".$language."</p>";

匿名用户

像这样尝试你的代码从db是

Java, PHP, JavaScript

爆炸这个转换为数组

$mystring = "Java, PHP, JavaScript";

$myArray = explode(',',$mystring);

//print_r($myArray);

foreach($myArray as $row)
{
echo "<p>".$row."</p><br>";
}