【问题标题】:Explode to array and print each element as list item分解为数组并将每个元素打印为列表项
【发布时间】:2013-04-27 21:32:12
【问题描述】:

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

第 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>";}

请任何人告诉我出了什么问题。谢谢。

【问题讨论】:

标签: php foreach explode


【解决方案1】:

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

$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>

不需要循环。

【讨论】:

    【解决方案2】:
    $numbers = '1,2,3';
    
    $array =  explode(',', $numbers);
    
    foreach ($array as $item) {
        echo "<li>$item</li>";
    }
    

    【讨论】:

      【解决方案3】:
      $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 ;
      }
      &lt;iframe src="https://ideone.com/ZqT4Yi" &gt;&lt;/iframe&gt;

      【讨论】:

        【解决方案4】:

        假设您的原始 $set_of_numbers 只是一个 CSV 字符串,类似于 1,2,3,4,...,那么您的 foreach“基本上”没问题。但是您的变量命名非常疯狂,并且您的 print-r() 调用 uncesary:

        $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...
        

        【讨论】:

          【解决方案5】:

          这里是您的问题的答案,以解决您的问题

          $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.
          }
          

          【讨论】:

            【解决方案6】:

            这可以通过以下代码sn-p轻松实现:

            <?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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-10-13
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多