爆炸到数组并将每个元素打印为列表项

时间:2013-04-27 21:32:12

标签: php foreach explode

我在数据库的表字段中有一组数字,数字用逗号','分隔。 我正在尝试执行以下操作:

步骤1:从数据库中选择一组数字并将其分解为数组:

$array =  explode(',', $set_of_numbers);

步骤2:使用foreach loop

打印数组的每个元素作为列表项
foreach ($array as $list_item => $set_of_numbers){
    echo "<li>";
    print_r(array_list_items($set_of_numbers));
    echo "</li>";}

请有人告诉我有什么问题。谢谢。

6 个答案:

答案 0 :(得分:20)

$numbers = '1,2,3';

$array =  explode(',', $numbers);

foreach ($array as $item) {
    echo "<li>$item</li>";
}

答案 1 :(得分:2)

假设您的原始$set_of_numbers只是一个CSV字符串,例如1,2,3,4,...,那么您的foreach“大部分”都可以。但是你的变量命名很疯狂,而你的print-r()调用是不可能的:

$array = explode(',', $set_of_numbers);
foreach($array as $key => $value) {
   echo "<li>$key: $value</li>";
}

假设1,2,3,4 ...字符串,你得到

<li>0: 1</li>
<li>1: 2</li>
<li>2: 3</li>
etc...

答案 2 :(得分:0)

$numbers = "1,2,3";

$array =  explode(",", $numbers);

/* count length of array */
$arrlength = count($array);

/* using for while */
$x = 0; 

while ($x < $arrlength) {

  echo "<li>$array[$x]</li>" . PHP_EOL;
  $x++;

}
echo PHP_EOL;

/* using for classic */
for ($x = 0; $x < $arrlength; $x++) {

  echo "<li>$array[$x]</li>" .  PHP_EOL;

}
echo PHP_EOL;    

/* using for each assoc */
foreach ($array as $value) {

  echo "<li>$value</li>" .  PHP_EOL;

}
echo PHP_EOL;    

/* using for each assoc key */
foreach ($array as $key => $value) {

  echo "<li>$key => $value</li>" .  PHP_EOL;

}

body, html, iframe { 
  width: 100% ;
  height: 100% ;
  overflow: hidden ;
}
<iframe src="https://ideone.com/ZqT4Yi" ></iframe>

答案 3 :(得分:0)

以下是您的问题的答案,以解决您的问题

$Num = '1,2,3,4,5,';
$Array = explode(',',$Num);
foreach ($Array as $Items)
{
echo "<li>&Items</li>"; // This line put put put in the list.
}

答案 4 :(得分:0)

这可以通过以下代码段轻松实现:

<?php
$my_numbers = '1,12,3.2,853.3,4545,221';
echo '<ul>';
foreach(explode(',', $my_numbers) AS $my_number){
    echo '<li>'.$my_number.'</li>';
}
echo '</ul>';

上面的代码将输出以下HTML:

<ul><li>1</li><li>12</li><li>3.2</li><li>853.3</li><li>4545</li><li>221</li></ul>

致谢:http://dwellupper.io/post/49/understanding-php-explode-function-with-examples

答案 5 :(得分:0)

您实际上不需要在逗号上爆炸。您可以只用结束标记替换每个逗号,后跟开始标记,然后将整个字符串包装在开始和结束标记中。

$set_of_numbers = '1,2,3';
echo '<li>' . str_replace(',', '</li><li>', $set_of_numbers) . '</li>';
// outputs: <li>1</li><li>2</li><li>3</li>

不需要循环。