我的数据库中有两列,其中包含从多个选择框输入的值。我曾经
$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分隔符会正确格式化它,但我错了。如何在新行(最好在段落标记内)显示每个项目?谢谢
换行
$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>";
}