php - 只是无法让 for 循环在 Php 中生成所需的数组

标签 php mysql arrays

我需要我的 for 循环来返回一个如下所示的数组

    $nullArray =array(
 0 => array("id" => 1, "label" => "test 1", "type" => "folder"), 
      array("id" => 2, "label" => "test 2", "type" => "folder"),
      array("id" => 3, "label" => "test 3", "type" => "folder"),
      etc...
      etc... 
      etc...
);

我现在拥有的

 $nullArray = array();
$numOfVer = mysql_num_rows($result);
$startArray= array();

//SETS FIRST NODE
for($i =0;$i < $numOfVer;$i++)
{
    $label = mysql_result($result, $i);
    $id = $i+1;
    $startArray = array(array('id' => $id,'label' => $label, "type" => "folder"));


    //$startArray[]['id'] = $id;
    //$startArray[]['label'] = $label;
    //$startArray[]['type'] = "folder";
     //array_push($startArray,array(array('id' => $id,'label' => $label, "type" => "folder")));
    //$nullArray[0]= array(array('id' => $id,'label' => $label, "type" => "folder"));
    //array_push($nullArray[0],array('id' => $id,'label' => $label, "type" => "folder"));
}
$nullArray[0] = $startArray;

    echo json_encode($nullArray[0]);

我注释掉的所有内容都是我尝试过但都失败了。对于如此简单的事情,我已经研究了太久,所以我决定寻求帮助!先感谢您! :)

最佳答案

在 for 循环中,您正在重新声明您的 $startArray 这就是删除先前值的原因。试试这个。

$nullArray = array();
$numOfVer = mysql_num_rows($result);
$startArray= array();

for($i =0;$i < $numOfVer;$i++)
{
    $label = mysql_result($result, $i);
    $id = $i+1;
    $startArray[] = array('id' => $id,'label' => $label, "type" => "folder");
}

关于php - 只是无法让 for 循环在 Php 中生成所需的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18286567/

相关文章:

php - 如何使用具有重复数据的数组查询 Sum?

mysql - 用户和组 : 3 or 2 tables (SQL)

ios - 在 `filter` 之后或通过查找 `firstIndex that ` 包含快速从数组中删除项目`

python - 按属性将项目排序到数组中

php - 将字符串转换为数组表数据php

php - 有代码,但这是什么错误?

PHP 文件不打印 HTML 表单内容

javascript - 如何在不知道文件名的情况下指定下载文件夹?

sql - mysql强制一条记录到顶部

mysql 查询美化器