如何声明一个事先不知道项目索引号的数组?

问题描述 投票:0回答:1

我试图创建一个 "无限 "的数组,比如从一个表格中获取输入的文本,并将其单词分离到同一数组的不同索引中($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 ) )

vs

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

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

我知道这个问题可能是以一种非常规的方式解决的,因此,为了指导我的学习,我将感激任何参考资料。

php arrays nested declaration
1个回答
0
投票

我个人认为,如果你创建一个空数组,以后再填充,可能会有帮助。

例如

$words = [];

0
投票

这是你的意思,如果我得到你正确的。

超文本标记语言

<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);
          }
© www.soinside.com 2019 - 2024. All rights reserved.