[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