作成日:2018-04-26, 更新日:2019-03-22
配列のキー(添え字)を数字の添え字で振りなおす
$result = array_values($ary);
配列のキー(添え字)を取得したい
$result = array_keys($ary);
※添え字の一覧を配列にしてくれる
配列に値が含まれているかチェック
var_dump(in_array(値, $ary));
※値があれば「true」。無ければ「false」
「in_array()」は遅いらしい。
配列に値が含まれているかチェック:別案
連想配列に置き換えてから「isset()」で調査。
$ary = array(xxxx, xxxx, xxxx, xxxx, xxxx, xxxx); $fixAry = array(); foreach ( $ary as $v ) { $fixAry[$v] = true; } if ( isset($fixAry[〇〇〇]) ) { // 値あり } else { // 値なし }
配列にキーが含まれているかチェック
var_dump( array_key_exists(キー, 配列) );
NULLのチェック
if ( array_key_exists(キー, 配列) ) { if ( is_null(配列[キー]) ) { // 配列にキーはあるけど、値は「NULL」 } }
「array_key_exists()、is_null()」と「isset()」の比較サンプル
$tmpIpt = array( 'a' => 1, 'b' => 0, 'c' => true, 'd' => false, 'e' => null, ); $aryKey = array('a', 'b', 'c', 'd', 'e', 'f', ); // array_key_exists()とis_null()でチェック foreach ( $aryKey as $rowKey ) { if ( array_key_exists($rowKey, $tmpIpt) ) { if ( is_null($tmpIpt[$rowKey]) ) { echo 'null'; } else { echo 'nullではない'; } } else { echo 'キーがない'; } } // isset()でチェック foreach ( $aryKey as $rowKey ) { if ( isset($tmpIpt[$rowKey]) ) { echo 'セットされている'; } else { echo 'セットされていない'; } }
▼結果
チェックしたキー | array_key_exists()とis_null() | isset() |
---|---|---|
a | nullではない | セットされている |
b | nullではない | セットされている |
c | nullではない | セットされている |
d | nullではない | セットされている |
e | null | セットされていない |
f | キーがない | セットされていない |
最後の要素を削除
$stack = array("orange", "banana", "apple", "raspberry"); $fruit = array_pop($stack); // $stackは、「orange, banana, apple, raspberry」 // $fruitは、「raspberry」
重複データの削除
$result = array_unique($tmpAry);
重複データがあるか確認
$result = array_unique($tmpAry); if ( count($result) == count($tmpAry) ) { // 重複なし } else { // 重複アリ }