このエントリーをはてなブックマークに追加

更新日: 2016年2月25日

実行時間: 0.0081

配列ヘルパー

 配列ヘルパーは「 system/helper/array_helper.php 」ファイルで、 配列から便利にデータを取得する関数が定義されています。

配列ヘルパーのロード

 「 CI_Loader 」クラスの「 helper() 」メソッドでロードします。

    $this->load->helper('array');

配列ヘルパーの関数

element($item, $array, $default = FALSE)

 第二引数に指定した配列、または、連想配列から第一引数で指定した配列番号または、
連想配列の添え字(インデックスキー)の値を取得します。
 もし、第一引数で指定した配列番号、または、添え字(インデックスキー)の配列が定義されていないか、 値が、空文字列の場合は第三引数で指定した値が返されます。第三引数のデフォルトはFALSE です。

    $this->load->helper('array');

    $data = array (
        'zero',
        'one',
        'two'
    );

    if ( $val = element(1, $data) ) {
        echo $val;
    }
    // one

    if (! $val = element(5, $data) ) {
        echo 'no data.';
    }
    // no data.

    if ($val = element('key', $data, 'no value as key.') ) {
        echo $val;
    }
    // no value as key.

 配列データが定義されていない、または、空文字であった場合でも、第三引数がその配列データとして セットされることはありません。つまり、元の配列データは何も変更されません。


random_element($array)

 引数に指定した配列、または、連想配列からランダムに値を一つ返します。

    $this->load->helper('array');

    $data = array (
        'zero',
        'one',
        'two'
    );

    $rand_val = random_element($data);
    echo $rand_val;
    // one

elements($items, $array, $default = FALSE)

 第二引数で指定した配列、または、連想配列から第一引数で指定した配列データを配列番号、 または、添え字とする配列構造を生成して返します。  もし、第二引数で指定した配列に要素が定義されていない場合は、 第三引数で指定したデフォルト値がセットされます。

 下記の例を見ると分かりやすいと思います。

    $this->load->helper('array');

    $needle = array ( 1, 3);
    $data = array ( 'zero', 'one', 'two', 'three', );
    $newdata = elements($needle, $data);
    print_r($newdata);
    /*
    Array (
        'one',
        'three',
    )
    */