我的页面上有一个名为$recipe['ingredients'];
的变量
在var中,您有以下内容,
100毫升牛奶,350毫升双层奶油,150毫升水
等等。现在我正试图将其拆分,使其看起来如下
<ul>
<li>100ml milk</li>
<li>350ml double cream</li>
<li>150ml water</li>
</ul>
到目前为止,我有以下代码,
$ingredientsParts = explode(',', $row_rs_recipes['ingredients']);
$ingredients = array($ingredientsParts);
while (! $ingredients) {
echo" <li>$ingredients</li>";
}
但由于某些原因,它不起作用,我也没有爆炸的经验来修复它。
$ingredientsParts = explode(',', $row_rs_recipes['ingredients']);
$li = '<ul>';
foreach($ingredientsParts as $key=>$value){
$li.=" <li>$value</li>";
}
$li.= '</ul>';
echo $li;
这应该足够了:
$ingredientsParts = explode(', ', $row_rs_recipes['ingredients']);
foreach ($ingredientsParts as $ingredient)
{
echo "<li>$ingredient</li>";
}
或者您可以通过','
来explode
它,并使用echo '<li>' . trim($ingredient) . '</li>';
来删除该字符串
- 当您对字符串进行explode()时,它会自动转换为数组。您不需要像在第二行中那样将其转换为数组类型
您希望使用foreach()循环来遍历数组,而不是while循环。
$ingredientsAry = explode(',', $row_rs_recipes['ingredients']); foreach($ingredientsAry as $ingredient){ echo "<li>$ingredient</li>"; }
事实上,您可以对explode()值执行foreach()循环
foreach(explode(',', $row_rs_recipes['ingredients']) as $ingredient){
echo "<li>$ingredient</li>";
}
爆炸方法已经返回了一个数组,因此您不必将变量$ingredientsParts转换为数组。
只需:
$ingredientsParts = explode(', ', $row_rs_recipes['ingredients']);
foreach ($ingredientsParts as $ingredient)
{
echo "<li>$ingredient</li>";
}
if (!empty($recipe['ingredients'])) {
echo '<ul><li>' . implode('</li><li>', explode(', ', $row_rs_recipes['ingredients'])) . '</li></ul>';
}
您可以这样做:
$ingredients = explode(',', $row_rs_recipes['ingredients']);
$list = '<ul>';
foreach ($ingredients as $ingredient)
{
$list .= '<li>' . $ingredient . '</li>';
}
$list .= '</ul>';
echo $list;