phpでの配列の扱い。（要素取り出しなど）


今DBに保存されたデータを取り出す勉強をしています。  
しかし、取り出したデータの配列の中から必要な要素だけをうまく取り出すことができません。

[code]

    //DB接続
    $db = mysql_connect('localhost', 'root', 'imagine');
    //テーブル選択
    $table = mysql_select_db($db_name);
    $table = mysql_query('SET NAMES UTF8');
    //テーブルからデータを取り出す
    $table = mysql_query("select id,name,password  from $table_name", $db);
    
    //取得した配列を多次元配列にする
    while($row = mysql_fetch_assoc($table)){
        $array[] = array($row);
    }
    
    print_r($array);
    
[/code]

出力結果が以上のようになっています。

[code]

    (
        [0] => Array
            (
                [0] => Array
                    (
                        [id] => 1
                        [name] =>  tomorrow
                        [password] =>  1234
                    )
    
            )
    
        [1] => Array
            (
                [0] => Array
                    (
                        [id] => 2
                        [name] =>  yesterday
                        [password] =>  4321
                    )
    
            )
    
    )
    
[/code]

この中からtomorrowだけを取り出したいのですが、どうすればいいのでしょうか。

[code]

    $userName = $array["array"][1][0]["name"];
    
[/code]

などと試しているのですが、現状解決することができていません。  
なにかありましたら随時補足いたしますので、よろしくお願いします。

ちなみJSON形式だと以下のようになっています。

[code]

    {"array":[[{"id":"1","name":" tomorrow","password":" 1234"}],[{"id":"2","name":" yesterday","password":" 4321"}]]})
    
[/code]




`$array` の中にさらに `array` という要素があるわけではないので、 `['array']` は不要です。

[code]

    $userName = $array[1][0]['name']; // yesterday
    
[/code]

※JSONを見ると確かに `array` という要素が存在することになっていますが、提示されたPHPコードの `$array`
の構造とは異なります。`echo json_encode($array)` とすると以下のようになるはずです。

[code]

    [[{"id":"1","name":" tomorrow","password":" 1234"}],[{"id":"2","name":" yesterday","password":" 4321"}]]
    
[/code]

* * *

なお、 [`mysql_fetch_assoc()`](http://php.net/manual/ja/function.mysql-fetch-
assoc.php) が返す連想配列は、 `array()` を使わずとも、そのまま配列に要素として追加することができます。

[code]

    while($row = mysql_fetch_assoc($table)){
        $array[] = $row;
    }
    
    $userName = $array[1]['name']; // yesterday
    
[/code]

この場合、`$array` の要素がそのままDBの一行に対応する連想配列になりますから、よりわかりやすいのではないでしょうか。

