PHP - 将数组拆分为块。

时间:2012-02-08 09:02:55

标签: php html css

我的页面上有一个名为$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>";
}

但由于某些原因它不起作用,我没有爆炸的经验来解决它。

6 个答案:

答案 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)

  1. 当你爆炸()字符串时,它会自动转换为数组。您不需要像在第二行上那样将其转换为数组类型。
  2. 您希望使用foreach()循环迭代数组,而不是while循环。

       $ingredientsAry = explode(',', $row_rs_recipes['ingredients']);
       foreach($ingredientsAry as $ingredient){
           echo "<li>$ingredient</li>";
       }
    
  3. 实际上你可以在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;