PHP-将数组分割成块


PHP - Split an array into chunks.

我的页面上有一个名为$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>';来删除该字符串

开头/结尾的空白
  1. 当您对字符串进行explode()时,它会自动转换为数组。您不需要像在第二行中那样将其转换为数组类型
  2. 您希望使用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;