PHPの配列系の標準関数まとめ



## [array_column](http://php.net/manual/ja/function.array-column.php)

配列の中から特定の要素だけを抜き出した配列を生成する。

## [array_fill](http://php.net/manual/ja/function.array-fill.php)

同じ値で配列を初期化/生成する。

```
$a = array_fill(5, 6, 'banana');
```

> Array
(
    [5]  => banana
    [6]  => banana
    [7]  => banana
    [8]  => banana
    [9]  => banana
    [10] => banana
)

## [array_filter](http://php.net/manual/ja/function.array-filter.php)

配列/連想配列の値をフィルタリングする。
引数の2番目にコールバック関数を指定しない場合は、配列内で`==FALSE`となる値が削除される。

```
<?php
$before = ["test1" => "test1", "test2" => null, "test3" => "test3", "test4" => ""];
$after = array_filter($before);
var_dump($before);
var_dump($after);
```

>array(4) {
  'test1' =>
  string(5) "test1"
  'test2' =>
  NULL
  'test3' =>
  string(5) "test3"
  'test4' =>
  string(0) ""
}
array(2) {
  'test1' =>
  string(5) "test1"
  'test3' =>
  string(5) "test3"
}

## [array_flip](http://php.net/manual/ja/function.array-flip.php)

連想配列のキーと値を入れ替える。

## [array_key_exists](http://php.net/manual/ja/function.array-key-exists.php)

配列内に指定したkeyが存在するかをチェックする。

## [array_keys](http://php.net/manual/ja/function.array-keys.php)

配列からキーのみの配列を取得する。

## [array_map](http://php.net/manual/ja/function.array-map.php)

第1引数のコールバック関数の処理結果を、第2引数の配列の各値に適用する。

## [array_merge](http://php.net/manual/ja/function.array-merge.php)
## [array_merge_recursive](http://php.net/manual/ja/function.array-merge-recursive.php)

配列のマージ処理関数。
`array_merge_recursive`関数は再帰的にマージする。

また`array_merge`関数の引数に、以下のように`... [対象の配列名]`を指定すると、多次元配列を集約して1次元配列のように変換することも可能である。（[参考元](http://php.net/manual/ja/function.array-merge.php#121023)）

```arrya_merge_sample.php
$values = [
    ["keyA" => "valueA", "KeyB" => "valueB"],
    ["keyC" => "valueC"],
    ["keyD" => "valueD", "keyE" => "valueE"],
]
$values = array_merge(... $values);
/**
$values = [
    "keyA" => "valueA",
    "KeyB" => "valueB".
    "keyC" => "valueC",
    "keyD" => "valueD",
    "keyE" => "valueE",
];
*/
```

## [array_pad](https://www.php.net/manual/ja/function.array-pad.php)
第１引数の配列に対して、第２引数で指定した長さに配列がなるように、
第３引数の値を穴埋めする。

```array_pad_sample.php
$value = [10, 20, 30];
$result = array_pad($value, 5, 0);
// 10, 20, 30 0, 0
```

## [array_slice](https://www.php.net/manual/ja/function.array-slice.php)
第１引数の配列に対して、第２引数で指定した位置から、第３引数で指定した長さの配列を切り出す。

```array_slice_sample.php
$value = [10, 20, 30, 40, 50];
$result1 = array_slice($value, 3); // 40, 50
$result2 = array_slice($value, 1, 3); // 20, 30, 40
```



## [array_values](http://php.net/manual/ja/function.array-values.php)

配列から要素のみの配列を取得する。

## [array_walk_recursive](http://php.net/manual/ja/function.array-walk-recursive.php)

配列の要素に対して、再帰的に引数の関数の処理を適用する。

## [compact](http://php.net/manual/ja/function.compact.php)

宣言済みの変数名をキーに連想配列を生成する。

```
$name = 'taro';
$age = 20;

// $info === ['name' => 'taro', 'age' => 20]
$info = compact('name', 'info');
```

## [extract](http://php.net/manual/ja/function.extract.php)

連想配列の値を、キーにしている変数名に各値を展開する。

## [in_array](http://php.net/manual/ja/function.in-array.php)

配列に値が含まれているかを確認する。

```
$list = ['red', 'blue' 'green'];
$hasRed = in_array('red', $list); // $hasRed = true 
```

## [list](http://php.net/manual/ja/function.list.php)

配列の値をまとめて代入する。

```
// 使い方
$color = array("red", "blue", "green");
list($red, $blue, $green) = $color; 
```

## [parse_str](http://php.net/manual/ja/function.parse-str.php)
クエリー文字列を連想配列に変換する

```
$query = 'test1=aaaa&test2=bbbb&test3=cccc';
parse_str($query, $params);
// $params = ['test1' => 'aaaa', 'test2' => 'bbbb', 'test3'=> 'cccc'];
```


## [var_export](http://php.net/manual/ja/function.var-export.php)

配列の値をまとめて出力する。