KHN-プログラミングブログ-

PHP配列

配列の書き方~取得


$color = ['red', 'blue', 'yellow'];
echo $color[0];

//redが取得される。
//$coler[2]とすると'yellow'を取得することができる。

すべて取得

 $test = [1, 2, 3];
  echo "<pre>";
  print_r($coler);
  echo "<pre>";

上記でとすべて取得できる。

数字は""不用

2次元配列

  $test =
    [
      [1, 2, 3],
      ["aka", "ao", "midori"]
    ];

  echo $test[1][1];
  //結果:aoが取得される。
  //echo $test[0][2];では、3が取得される。

2次元配列取得

  $test =
    [
      [1, 2, 3],
      ["aka", "ao", "midori"]
    ];

    $test2=[];

    foreach($test as$keys=> $values){
           $test2[]= $values;
    }

    print_r($test2);

// Array
// (
//     [0] => Array
//         (
//             [0] => 1
//             [1] => 2
//             [2] => 3
//         )

//     [1] => Array
//         (
//             [0] => aka
//             [1] => ao
//             [2] => midori
//         )

// )

2次元配列を1つの配列にまとめる。

  $test =
    [
      [1, 2, 3],
      ["aka", "ao", "midori"]
    ];

    $test2=[];

    foreach($test as $keys=> $values){
        foreach($values as$key=>$value){
           $test2[]= $value;
        }

    }
    print_r($test2);

// Array
// (
//     [0] => 1
//     [1] => 2
//     [2] => 3
//     [3] => aka
//     [4] => ao
//     [5] => midori
// )

一回目のforeachですべての
valueをvaluesの中に
[1, 2, 3],
["aka", "ao", "midori"]

更に上記の値をforeachで回し配列の中にvalueだけを変数の中に入れる。

連想配列

$fruit=[
"赤"=>"リンゴ",
"青"=>"ブドウ",
"黄色"=>"バナナ"
];

echo($fruit["赤"]);

//リンゴ

連想配列階層深く

 $user =
    [
      '田中' => [
        'mail' => 'tanaka●●.com',
        'from' => 'Japan'
      ],
      'bobby' => [
        'mail' => 'bobby●●.com',
        'from' => 'America'
      ]
    ];

      foreach($user as $keys => $values){
        print_r('名前は'.':'.$keys.'<br>');
    }

//名前は:田中
//名前は:bobby
//valuesで取得することもできる。

田中さんのデータだけ取得して変数の中に代入

 $user =
    [
      '田中' => [
        'mail' => 'tanaka●●.com',
        'from' => 'Japan'
      ],
      'bobby' => [
        'mail' => 'bobby●●.com',
        'from' => 'America'
      ]
    ];

        $evacuation=[];

      foreach($user as $key => $value){
        if($keys == '田中'){
            $evacuation = $value;
        }
    }

    print_r($evacuation);

//Array ( [mail] => tanaka●●.com [from] => Japan )

もしkeyが田中だったら変数の中にvalueを入れて違う場合は何もしない。

多次元配列

$member = [
  ["1","2","3"],
  ["A","B","C"],
  ["a","b","c"]
];
echo ($member[2][2]);//c
echo ($member[1][1]);//B
echo ($member [0][0]);//1