0

数组:

Array
(
    [0] => Array
        (
            [0] => Service Simulators
            [1] => Array
                (
                    [0] => 1.php
                    [1] => Title 1
                )

        )

    [1] => Array
        (
            [0] => Service Simulators
            [1] => Array
                (
                    [0] => 2.php
                    [1] => Title 2
                )

        )

    [2] => Array
        (
            [0] => Service Simulators
            [1] => Array
                (
                    [0] => 3.php
                    [1] => Title 3
                )

        )

    [3] => Array
        (
            [0] => Service Simulators
            [1] => Array
                (
                    [0] => 4.php
                    [1] => Title 4
                )

        )

    [4] => Array
        (
            [0] => Service Simulators
            [1] => Array
                (
                    [0] => 5.php
                    [1] => Title 5
                )

        )

    [5] => Array
        (
            [0] => Trouble Shooting
            [1] => Array
                (
                    [0] => a.php
                    [1] => Title A
                )

        )

    [6] => Array
        (
            [0] => Trouble Shooting
            [1] => Array
                (
                    [0] => b.php
                    [1] => Title B
                )

        )

    [7] => Array
        (
            [0] => Deprecated
            [1] => Array
                (
                    [0] => 123.php
                    [1] => Title 123
                )

        )

    [8] => Array
        (
            [0] => Admin Only
            [1] => Array
                (
                    [0] => admin.php
                    [1] => Title Admin
                )

        )
)

我需要的

Array
(
    [0] => Array
        (
            [0] => Service Simulators
            [1] => Array
                (
                    [0] => 1.php
                    [1] => Title 1
                    [3] => 2.php
                    [4] => Title 2
                    [5] => 3.php
                    [6] => Title 3
                    [7] => 4.php
                    [8] => Title 4
                    [9] => 5.php
                    [10] => Title 5
                )

        )

    [1] => Array
        (
            [0] => Trouble Shooting
            [1] => Array
                (
                    [0] => a.php
                    [1] => Title A
                    [3] => b.php
                    [4] => Title B
                )

        )

    [2] => Array
        (
            [0] => Deprecated
            [1] => Array
                (
                    [0] => 123.php
                    [1] => Title 123
                )

        )

    [3] => Array
        (
            [0] => Admin Only
            [1] => Array
                (
                    [0] => admin.php
                    [1] => Title Admin
                )

        )
)

发生了什么

Array
(
    [0] => Array
        (
            [0] => Service Simulators
            [1] => Array
                (
                    [0] => 5.php
                    [1] => Title 5
                )

        )

    [1] => Array
        (
            [0] => Trouble Shooting
            [1] => Array
                (
                    [0] => b.php
                    [1] => Title B
                )

        )

    [2] => Array
        (
            [0] => Deprecated
            [1] => Array
                (
                    [0] => 123.php
                    [1] => Title 123
                )

        )

    [3] => Array
        (
            [0] => Admin Only
            [1] => Array
                (
                    [0] => admin.php
                    [1] => Title Admin
                )

        )
)

我正在尝试,它来自查询结果集

$tmp_arr = array();

while($row = mysql_fetch_row($result))
{
   // $row[1] = groupname
   // $row[2] = pagename
   // $row[3] = pagetitle

   // Push to array
   $build_arr_items = array($row[2],$row[3]);

   array_push($tmp_arr, array($row[1], $build_arr_items)); // This builds the first example

   //$tmp_arr[$row[1]]=$build_arr_items; // this is the overwrite example
}

任何想法,帮助正确的方向?

4

3 回答 3

1

你嫁给那个数组结构了吗?由组名键入的数组可能会更好地为您服务,即:

Array(
    'Service Simulators' => array(
                              [0] => 1.php
                              [1] => Title 1
                              [3] => 2.php
                              )
      //etc...
      )

因为那时你可以这样编码:

$tmp_arr = array();

while($row = mysql_fetch_row($result))
{
     // $row[1] = groupname
     // $row[2] = pagename
     // $row[3] = pagetitle

      $tmp_arr[$row[1]][] = $row[2];
      $tmp_arr[$row[1]][] = $row[3];
}

这种方式似乎也不那么凌乱。

于 2009-10-20T18:06:37.113 回答
0

好的,我想我找到了一些有用的东西。我只是颠倒了关键索引关系

$tmp_arr[$row[2]]=$row[1];
$tmp_arr[$row[3]]=$row[1];
于 2009-10-21T13:12:10.413 回答
0

修复了关键的示例以保持与操作类似的结构,但通过命名键设置每个:

$tmp_arr = array();
while($row = mysql_fetch_row($result)){
    // $row[1] = groupname
    // $row[2] = pagename
    // $row[3] = pagetitle

    $tmp_arr[ $row[1] ] = array( $row[2], $row[3] );
}
/*
    Output
    array(
        "Group Name" => Array(
            Array(
                0 => "pagename"
                1 => "pagetitle"
            )
         )
    )
*/
于 2009-10-20T18:29:39.383 回答