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

ピボットの例を修正して、opと同様の構造を維持しますが、名前付きキーでそれぞれを設定します。

$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 に答える
0

OK私はうまくいくものを見つけたと思います。キーインデックスの関係を逆にしました

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