PHPで配列を値で検索、破棄
2014/05/22
PHPの配列で特定の値が入っていれば
それを破棄したいということがあった。
・unset()
http://php.net/manual/ja/function.unset.php
※指定した変数の割当を解除する
・array_search()
http://php.net/manual/ja/function.array-search.php
※指定した値を配列で検索し、見つかった場合に対応するキーを返す
■サンプル
$array = array(0=>'aaa', 1=>'bbb', 2=>'ccc');
unset($array[array_search('bbb', $array)]); //array(2) { [0]=> string(3) "aaa" [2]=> string(3) "ccc" }
これをループでまわしたりすると、配列のキーが
歯抜けになってしまう。
foreachでまわせばいいけど、今回は歯抜けを埋めて
尚且つ0から順番に並べたかった。
・array_values();
http://php.net/manual/ja/function.array-values.php
■サンプル
$array = array(0=>'aaa', 1=>'bbb', 2=>'ccc');
unset($array[array_search('bbb', $array)]); //array(2) { [0]=> string(3) "aaa" [2]=> string(3) "ccc" }
$array = array_values($array); //array(2) { [0]=> string(3) "bbb" [1]=> string(3) "ccc" }
関連記事
-
-
PHPにて三項演算子をより簡単に書けるNull合体演算子について
PHPにて〇〇という変数もしくは配列に値があれば××という変数にその値を格納、無 ...
-
-
$_SERVER['PHP_SELF']に脆弱性あり
formのaction属性とかページングのリンクとかで、 <form ac ...
-
-
PHPにて「みんなの自動翻訳」のAPIで指定したテキストの言語判定する方法
迷惑メール対策等でメール本文が日本語のもののみ受信したい場合がある。ただ、本文内 ...
-
-
PHPで引数の先頭に&(アンパサンド)をつける参照渡し(リファレンス渡し)について
他社が作成されたPHPのソースコードを拝見していると関数の引数の頭に&( ...
-
-
PHPでPOST送信する際に多次元配列も送る方法
PHPでPOST送信する際に多次元配列も送りたかった。ただ普通に送ろうとするとO ...