1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2015-05-15

array_column

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

array_fill

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

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

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

array_filter

配列/連想配列の値をフィルタリングする。
引数の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

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

array_key_exists

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

array_keys

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

array_map

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

array_merge

array_merge_recursive

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

またarray_merge関数の引数に、以下のように... [対象の配列名]を指定すると、多次元配列を集約して1次元配列のように変換することも可能である。(参考元

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

第1引数の配列に対して、第2引数で指定した長さに配列がなるように、
第3引数の値を穴埋めする。

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

array_slice

第1引数の配列に対して、第2引数で指定した位置から、第3引数で指定した長さの配列を切り出す。

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

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

array_walk_recursive

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

compact

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

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

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

extract

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

in_array

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

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

list

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

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

parse_str

クエリー文字列を連想配列に変換する

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

var_export

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

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?