たきゃはしです

もう日常ブログにしよう

PHP 配列のキーを振り直す方法

f:id:y_guriko:20130131211621p:plain

動的にフォームを生成してる場合などで役に立つ。

結論でいえば array_values() で出来ます。

しかしながら、名前からは想像しにくい結果となるので

function array_key_renumber($array = array()) {
    return array_values($array);
}

こんなラッパー関数を作ると良いですね。

↓ちなみに配列の添字(インデックス)を振り直すケースはこちら

/*
(array)$request => (
    (int)0 => ''
    (int)1 => ''
    (int)2 => '入ってる'
    (int)3 => ''
    (int)4 => 'ここも入ってる'
    (int)5 => ''
)

*/
foreach($request as $index => $value) {
    if (empty($value)) unset($request[$index]);
}
$data = array_key_renumber($request);
/*
(array)$data => (
    (int)0 => '入ってる'
    (int)1 => 'ここも入ってる'
)

*/

これなら虫食いのリクエストがきても、安心して対処が出来ます。