【问题标题】:How can I declare an array which I dont know the Index No of items beforehand如何声明一个我事先不知道项目索引号的数组
【发布时间】:2020-09-09 20:21:03
【问题描述】:

我正在尝试创建一个“无限”数组,例如将从表单中获取输入的文本并将其单词分成同一数组的不同索引($words[$j])

我注意到我必须用 "","" 声明数组来声明每个索引的预期字符串值,因为我如果只将其中一个索引声明为字符串,它将在 Firstone 之后嵌套连续数组.

      <?php

        if(!empty($_GET['text'])){
          $text = $_GET['text'];
          $words = array("");
          $j = 0;
          for($i = 0; $i < strlen($text); $i ++){
            $words[$j][$i] = $text[$i];
            if($text[$i] == " "){
              $j ++;
            }
            }
            print_r($words);
          }

      ?>

Array ( [0] => Big [1] => Array ( [4] => r [5] => e [6] => d [7] => ) [2] => Array ( [8] => R [9] => o [10] => c [11] => k [12] => e [13] => t ) )

          $words = array("","","","","","","","");

Array ( [0] => Big [1] => red [2] => Rocket [3] => [4] => [5] => [6] => [7] => )

我知道这个问题可能是以非常规的方式解决的,因此任何参考任何材料以指导我完成我的学习将不胜感激。 谢谢

【问题讨论】:

    标签: php arrays nested declaration


    【解决方案1】:

    就个人而言,我认为如果您创建一个稍后将填充的空数组可能会有所帮助

    例如:

    $words = [];
    

    【讨论】:

    • 小心,这个数组声明适用于PHP 5.3的更高版本。
    【解决方案2】:

    如果我理解正确,这就是你的意思

    HTML

    <input type="text" name="text[]" />
    <input type="text" name="text[]" />
    <input type="text" name="text[]" />
    

    PHP

    if(!empty($_GET['text'])){
              $text = $_GET['text'];
              $N = count($text);
              for($i = 0; $i < $N; $i++){
                $words[] = $text[$i];
                }
                var_dump($words);
              }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-16
      • 2013-04-25
      • 2014-03-12
      • 2015-01-29
      • 1970-01-01
      • 2013-07-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多