
[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');
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');
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" }
※一つを削除した場合該当するキーも抜けたままになります。
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" }
※重複を削除した場合該当するキーも抜けたままになります。
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" }
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 の先頭の値の削除のみができます。
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';
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" }
PHP: array_splice – Manual
No Comments & Tracbacks