[PHP] 配列に関する関数メモ [1] – 配列に要素を追加・削除する

WordPress のカスタマイズ記事でも PHP 関数のメモ書きが登場しているのですが、どこに書いたのか分からなくなってしまうので、PHP の関数などとその使用例を改めてまとめていきたいなと思います。

まとめていたら長くなってしまったので、何回かにわけて投稿していこうと思います。まずは配列に要素を追加・削除する関数についてです。

配列に要素を追加する

配列から要素を削除する

配列から要素を取り出す

配列に要素を追加する

配列の最後に要素を追加する

配列の最後に要素を追加するには以下のような方法があります。

1つ値を追加する – $array[] = $var

配列 $array の最後に文字列 ‘e’ を追加するには以下のようにします。

$array = array('a', 'b', 'c', 'd');
$array[] = 'e'; 

//↓結果

array( 'a', 'b', 'c', 'd', 'e');
複数の値を追加する – array_push()

array_push() 関数を使うと複数の値を追加することができます。

配列 $array へ文字列 ‘e’と’f’ を追加します。

$array = array('a', 'b', 'c', 'd');
array_push($array, 'e', 'f');

//↓結果

array('a', 'b', 'c', 'd', 'e', 'f');
array_push(追加したい配列, 追加したい値, 追加したい値);
PHP: array_push – Manual

配列の最初に要素を追加する – array_unshift()

array_unshift() 関数を使うと配列の最初へ値を追加することができます。複数追加したい場合は「,」で区切って追加します。

$array の最初に文字列 ‘_a’ を追加します。

$array = array('a', 'b', 'c', 'd');
array_unshift($array, '_a');

//↓結果

array('_a', 'a', 'b', 'c', 'd');
array_unshift(追加したい配列, 追加したい値, 追加したい値);
PHP: array_unshift – Manual

配列から要素を削除する

要素を削除するには unset() 関数を使用します。

配列自体または配列内の要素を削除する – unset()

配列自体を削除する

unset() 関数を使って配列自体を削除します。

$array = array('a', 'b', 'c', 'd');
unset($array);

//↓結果

NULL
配列の中の一つ ‘b’ を削除する

unset() 関数を使って配列の中の一つを削除します。

$array = array('a', 'b', 'c', 'd');
unset($array[1]);

//↓結果

array(3) { 
	[0]=> string(1) "a" 
	[2]=> string(1) "c" 
	[3]=> string(1) "d" 
}

※一つを削除した場合該当するキーも抜けたままになります。

unset(削除したい配列又は値);
PHP: unset – Manual

配列の中から重複した値を削除する – array_unique()

array_unique() 関数を使うと、配列の中で重複している値を削除することができます。

$array = array('a', 'b', 'c', 'd', 'd', 'e', 'f', 'g', 'a');
$array = array_unique($array);

//↓結果

array(7) { 
	[0]=> string(1) "a" 
	[1]=> string(1) "b" 
	[2]=> string(1) "c" 
	[3]=> string(1) "d" 
	[5]=> string(1) "e" 
	[6]=> string(1) "f" 
	[7]=> string(1) "g" 
}

※重複を削除した場合該当するキーも抜けたままになります。

array_unique(重複する値を削除したい配列)
PHP: array_unique – Manual

削除にともなうキーの抜けを埋める – array_values()

キーをふり直したい場合は array_values() 関数を使用するときれいにふり直した配列を返してくれます。
前項の array_unique で抜けてしまったキーを埋めるには以下のように使用します。

$array = array_values($array);

//↓結果

array(7) { 
	[0]=> string(1) "a" 
	[1]=> string(1) "b" 
	[2]=> string(1) "c" 
	[3]=> string(1) "d" 
	[4]=> string(1) "e" 
	[5]=> string(1) "f" 
	[6]=> string(1) "g" 
}
array_values(キーを振りなおしたい配列)
PHP: array_values – Manual

配列から要素を取り出す

配列の最初の要素を取り出す – array_shift()

array_shift() 関数を使用すると配列の先頭の値を取り出し、元の配列からはその値を削除することができます。

配列 $array の先頭の値を $var へ取り出し、$array からは削除することができます。

$array_1 = array('a', 'b', 'c', 'd');
$var = array_shift($array);

//↓結果

$array → array('b', 'c', 'd');
$var → 'a';

代入を行わなければ $array の先頭の値の削除のみができます。

array_shift(最初の要素を取り出したい配列);
PHP: array_shift – Manual

配列の最後の要素を取り出す – array_pop()

array_pop() 関数を使用すると配列の最後の値を取り出し、元の配列からはその値を削除することができます。

配列 $array の最後の値を $var へ取り出し、$array からは削除することができます。

$array = array('a', 'b', 'c', 'd');
$var = array_pop($array);

//↓結果

$array → array('a', 'b', 'c');
$var → 'd';
array_pop(最後の要素を取り出したい配列);
PHP: array_pop – Manual

配列の一部の要素を取り出す – array_splice()

array_splice() 関数を使用すると、第2引数から第3引数までで指定した値を取り出すことができます。第4引数を指定した場合には、その指定した値を取り出した部分へ挿入できます。

配列 $array_1 の指定したキーの値を $array_2 へ配列として取り出すことができます。そして、$array_1 からはその値は削除されます。

$array_1 = array('a', 'b', 'c', 'd');
$array_2 = array_splice($array_1, 1, 2);

//↓結果

$array_1 → 
    array(2) { 
	    [0]=> string(1) "a" 
	    [1]=> string(1) "d" 
	}  
$array_2 → 
    array(2) { 
	    [0]=> string(1) "b" 
	    [1]=> string(1) "c" 
	}
array_splice(削除したい配列, 削除を開始するキー, 削除を終えるキー);
PHP: array_splice – Manual

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です