我的页面上有一个名为$recipe['ingredients'];
如下,
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>";
}
但由于某些原因它不起作用,我没有爆炸的经验来解决它。
答案 0 :(得分:3)
$ingredientsParts = explode(',', $row_rs_recipes['ingredients']);
$li = '<ul>';
foreach($ingredientsParts as $key=>$value){
$li.=" <li>$value</li>";
}
$li.= '</ul>';
echo $li;
答案 1 :(得分:2)
这应该足够了:
$ingredientsParts = explode(', ', $row_rs_recipes['ingredients']);
foreach ($ingredientsParts as $ingredient)
{
echo "<li>$ingredient</li>";
}
或者您可以explode
','
并使用echo '<li>' . trim($ingredient) . '</li>';
从该字符串的开头/结尾删除空格
答案 2 :(得分:1)
您希望使用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>";
}
答案 3 :(得分:0)
explode方法已经返回一个数组,因此您不必将变量$ ingredientsParts转换为数组。
只是做:
$ingredientsParts = explode(', ', $row_rs_recipes['ingredients']);
foreach ($ingredientsParts as $ingredient)
{
echo "<li>$ingredient</li>";
}
答案 4 :(得分:0)
if (!empty($recipe['ingredients'])) {
echo '<ul><li>' . implode('</li><li>', explode(', ', $row_rs_recipes['ingredients'])) . '</li></ul>';
}
答案 5 :(得分:0)
你可以这样做:
$ingredients = explode(',', $row_rs_recipes['ingredients']);
$list = '<ul>';
foreach ($ingredients as $ingredient)
{
$list .= '<li>' . $ingredient . '</li>';
}
$list .= '</ul>';
echo $list;