配列

配列の値の出現回数を取得する - array_count_values()

array_count_values()配列の値の出現回数を取得することができます。
引数には、配列を渡します。

<?php
$array = array(1, 'a', 1, 'b', 1, 'a');
$result = array_count_values($array);

var_dump($result);
?>


◆実行結果
array(3) {
  [1]=>
  int(3)
  ["a"]=>
  int(2)
  ["b"]=>
  int(1)
}

複数の変数から配列を作成する - compact()関数

compact()関数を使用すると複数の変数から配列を作成することができます。
引数には、変数名を指定します。

<?php
$test1 = '1つ目の変数です。';
$test2 = '2つ目の変数です。';
$test3 = '3つ目の変数です。';
$result = compact('test1', 'test2', 'test3');

var_dump($result);
?>



◆実行結果
array(3) {
  ["test1"]=>
  string(25) "1つ目の変数です。"
  ["test2"]=>
  string(25) "2つ目の変数です。"
  ["test3"]=>
  string(25) "3つ目の変数です。"
}

配列のキーと値を反転させる - array_flip()関数

array_flip()関数を使用すると配列のキーと値を反転させることができます。

<?php
$array = array(1, 'a' => 'hoge', 2, 'b' => 'foo');
$result = array_flip($array);

var_dump($result);
?>


◆実行結果
array(4) {
  [1]=>
  int(0)
  ["hoge"]=>
  string(1) "a"
  [2]=>
  int(1)
  ["foo"]=>
  string(1) "b"
}

配列の差分を確認する - array_diff()関数

array_diff()関数を使用すると配列の差分を確認することができます。
第一引数には比較元の配列、第二引数以降は比較対象の配列を指定します。
第一引数の中で、他のどの配列にも含まれない要素のみを含む配列を返します。

<?php
$array1 = array("赤坂", "六本木", "渋谷", "新宿");
$array2 = array("赤坂", "新宿");
$result = array_diff($array1, $array2);

var_dump($result);
?>


◆実行結果
array(2) {
  [1]=>
  string(9) "六本木"
  [2]=>
  string(6) "渋谷"
}

配列の最後に値を追加する - array_push()関数

array_push()関数を使用すると配列の最後に値を追加することができます。
引数に複数の値を追加することにより、複数の値を追加することができます。

<?php
$city = array('渋谷','新宿');
array_push($city, '池袋', '品川');

var_dump($city);
?>



◆実行結果
array(4) {
  [0]=>
  string(6) "渋谷"
  [1]=>
  string(6) "新宿"
  [2]=>
  string(6) "池袋"
  [3]=>
  string(6) "品川"
}

配列の先頭に値を追加する - array_unshift()関数

array_unshift()関数を使用すると配列の先頭に値を追加することができます。
引数に複数の値を追加することにより、複数の値を追加することができます。

<?php
$city = array('渋谷','新宿');
array_unshift($city, '池袋', '品川');

var_dump($city);
?>


◆実行結果
array(4) {
  [0]=>
  string(6) "池袋"
  [1]=>
  string(6) "品川"
  [2]=>
  string(6) "渋谷"
  [3]=>
  string(6) "新宿"
}

配列の途中に値を追加する - array_splice()関数

array_splice()関数を使用すると配列の途中に値を追加することができます。
第2引数に挿入位置、第3引数に削除する配列の数を指定します。
第3引数に0を指定すると配列は削除せずに値がずれていきます。

<?php
$city = array('渋谷','新宿');
array_splice($city,1 , 0, '池袋');

var_dump($city);
?>


◆実行結果
array(3) {
  [0]=>
  string(6) "渋谷"
  [1]=>
  string(6) "池袋"
  [2]=>
  string(6) "新宿"
}

配列の値の合計値を求める - array_sum()関数

array_sum()関数を使用すると配列の値の合計値を求めることができます。

<?php
$array = array(10,2,100);
$array = array_sum($array);

var_dump($array);
?>


◆実行結果
int(112)

文字列を配列に変換する - split関数

split関数を使用すると文字列を配列に変換することができます。
第一引数には、分割する文字列を指定します。

<?php
$yamanote = "渋谷-代々木-原宿-新宿";
$yamanote = split("-",$yamanote);

var_dump($yamanote);
?>



◆実行結果
array(4) {
  [0]=>
  string(6) "渋谷"
  [1]=>
  string(9) "代々木"
  [2]=>
  string(6) "原宿"
  [3]=>
  string(6) "新宿"
}

配列を自然順(あいうえお順)でソートする - natsort関数

natsort関数を使用すると配列を自然順でソートすることができます。

自然順とは、人間が行うような手法でアルファベットやあいうえお順などのことを言います。
数値もソートされます。

この関数は、破壊的に配列を書き換えますので再代入する必要はありません。

<?php
$test = array("い","う","え","あ","お");
natsort($test);

var_dump($test);
?>


◆実行結果
array(5) {
  [3]=>
  string(3) "あ"
  [0]=>
  string(3) "い"
  [1]=>
  string(3) "う"
  [2]=>
  string(3) "え"
  [4]=>
  string(3) "お"
}

配列のキーの小さい順でソートする - ksort()関数

ksort()関数を使用すると、配列のキーの小さい順でソートすることができます。

<?php
$test = array(
	'2' => 'こんにちは',
	'1' => 'おはようございます。',
	'3' => 'こんばんは',
);

ksort($test);

var_dump($test);
?>


◆実行結果
array(3) {
  [1]=>
  string(30) "おはようございます。"
  [2]=>
  string(15) "こんにちは"
  [3]=>
  string(15) "こんばんは"
}

配列のキーの大きい順でソートする - krsort()関数

krsort()関数を使用すると、配列のキーの大きい順でソートすることができます。

<?php
$test = array(
	'2' => 'こんにちは',
	'1' => 'おはようございます。',
	'3' => 'こんばんは',
);

krsort($test);

var_dump($test);
?>



◆実行結果
array(3) {
  [3]=>
  string(15) "こんばんは"
  [2]=>
  string(15) "こんにちは"
  [1]=>
  string(30) "おはようございます。"
}

配列を結合してテキストに変換する - join()関数

join()関数を使用すると、配列を結合してテキストに変換することができます。
第一引数には、テキストに変換する際の間の文字列を指定することができます。

<?php
$text = array("あ","い","う","え","お");
$text = join("",$text);

var_dump($text);

$text = array("あ","い","う","え","お");
$text = join("-",$text);

var_dump($text);
?>



◆実行結果
string(15) "あいうえお"
string(19) "あ-い-う-え-お"

配列の順番をシャッフルする - shuffle()関数

shuffle()関数を使用すると、配列の順番をシャッフルすることができます。

<?php
$text = array("あ","い","う","え","お");

srand(microtime());
shuffle($text);

var_dump($text);
?>



◆実行結果
array(5) {
  [0]=>
  string(3) "あ"
  [1]=>
  string(3) "え"
  [2]=>
  string(3) "う"
  [3]=>
  string(3) "い"
  [4]=>
  string(3) "お"
}

配列をひとつにまとめる - array_merge()関数

array_merge()関数を使用すると、配列をひとつにまとめることができます。

<?php
$array  = array("あ","い","う");
$array2 = array("え","お");

$newArray3 = array_merge($array,$array2);

var_dump($newArray3);
?>

◆実行結果
array(5) {
  [0]=>
  string(3) "あ"
  [1]=>
  string(3) "い"
  [2]=>
  string(3) "う"
  [3]=>
  string(3) "え"
  [4]=>
  string(3) "お"
}

連想配列のキーのみを全て取得 - array_keys()関数

array_keys()関数を使用すると、連想配列のキーのみを全て取得することができます。

<?php
$test = array(
    '1'=>'one',
    '2'=>'two',
    '3'=>'three',
);

$testKeys = array_keys($test);

var_dump($testKeys);
?> 


◆実行結果
array(3) {
    [0]=> int(1)
    [1]=> int(2)
    [2]=> int(3)
}

配列のキーを変数名にした変数を作る - extract()関数

extract()関数を使用すると、配列のキーを変数名にした変数を作ることができます。

<?php
$test = array(
    'one'=>'1番目の変数',
    'two'=>'2番目の変数',
    'three'=>'3番目の変数',
);

extract($test);

echo $three;
?> 

◆実行結果
3番目の変数 

配列をカンマ区切りのデータに変換 - implode()

implode()関数を使用すると配列をカンマ区切りのデータに変換できます。
第一引数に区切り文字を指定できるので、カンマ区切り以外のデータも作成できます。

<?php
// 配列を作成する
$food = array('うどん,カレー,牛丼');

// 配列をカンマ区切りにする
$food = implode(',',$food);

var_dump($food);
?>


◆実行結果
string(26) "うどん,カレー,牛丼" 

カンマ区切りデータを配列にする - explode()

explode()関数を使用すると、カンマ区切りのデータを配列にすることができます。

<?php
// カンマ区切りのデータを作成する
$food = 'うどん,カレー,牛丼';

// カンマ区切りのデータを配列にする
$food = explode(',',$food);

var_dump($food);
?>

◆実行結果
array(3) { [0]=> string(9) "うどん" [1]=> string(9) "カレー" [2]=> string(6) "牛丼" } 

配列の中に特定の値があるか調べる - in_array()

in_array()関数を使用すると、配列の中に特定の値があるか調べることができます。
第一引数に調べたい値を第二引数に調べる配列を指定します。

<?php
$fruit_array = array('なし', 'メロン', 'バナナ', 'みかん');
$result = in_array('メロン', $fruit_array);

if ($result) {
    print('配列の中にメロンはあります。');
}else{
    print('配列の中にメロンはありませんでした。');
}
?>

in_array()関数の戻り値は、値が見つかった場合はTRUE、見つからなかった場合はFALSEを返します。

配列を結合する - array_merge()

array_merge()関数を使用すると配列を結合することができます。

<?php
$array1 = array("好きな食べ物" => "カレー");
$array2 = array("住んでいる場所" => "東京都", "職業" => "会社員");
$result = array_merge($array1, $array2);

print_r($result);
?>

◆実行結果
Array
(
    [好きな食べ物] => カレー
    [住んでいる場所] => "東京都
    [職業] => 会社員
)

 


また、この他に配列を結合する方法に 演算子の+を使用する方法があります。

 

<?php
$array1 = array("好きな食べ物" => "カレー");
$array2 = array("住んでいる場所" => "東京都", "職業" => "会社員");
$result = $array1 + $array2;

print_r($result);
?>

◆実行結果
Array
(
    [好きな食べ物] => カレー
    [住んでいる場所] => "東京都
    [職業] => 会社員
)

 

PHP 配列を定義する、配列を初期化する - array()

配列を初期化する場合は、array()関数を使用します。

<?php
$var = array();
?>


初期化と定義を同時に書きたい場合は、array()関数の中に配列の添え字と値を記載します。

 

 

 

<?php
// 書式
$var = array('キー1' => 値1, 'キー2' => 値2, ...);

// 配列を定義する
$var = array('住所' => '東京都港区', '血液型' => 'A型', '年齢' => '28歳');
?>


また、ひとつひとつ配列を定義する方法もあります。

<?php
// 初期化
$var = array();

// ひとつずつ配列を定義する
$var['住所'] = '東京都港区';
$var['血液型'] = 'A型';
$var['年齢'] = '28歳;
?>

 

配列の個数をカウントする - count()

配列の個数をカウントするには、count()関数が便利です。
count()関数は、戻り値をintで出力します。
 

<?php
// 配列を定義
$food = array('カレー', 'サラダ', 'ラーメン');

// カウントする
echo count($food);
?>

◆実行結果
3

 

変数が配列かどうかを確認する - is_array()

変数が配列かどうかを確認するには、is_array()関数が便利です。
変数が配列の場合 TRUE、配列でない場合 FALSE を返します。

<?php
$result = is_array($var);

if ($result === true) {
    echo '配列です。';
} else {
    echo '配列ではありません。';
}
?>

配列の値の重複を避ける(重複している値を削除する) - array_unique()

配列の値の重複を避けるには、array_unique()が便利です。
array_unique()を使うことによって重複している値は削除されます。
 

<?php
    $ary = array("a" => "卵", "鶏肉", "b" => "卵", "納豆");
    $res = array_unique($ary);

    var_dump($res);
?>



◆実行結果
array(3) { 
    ["a"]=> string(3) "卵" 
    [0]=> string(6) "鶏肉" 
    [1]=> string(6) "納豆"
} 

配列をJSON形式のデータに変換する - json_encode()関数

json_encode()関数を使用して、配列をJSON形式にデータ変換することができます。

 

<?php
// 配列を作成
$arr = array('foo', 'bar', 'hoge');

// JSON形式で出力
echo json_encode($arr);
?>



◆実行結果
["foo","bar","hoge"]

作成日:2015年11月15日
更新日:2019年05月04日