作成日: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 {
// 重複アリ
}