1

次の配列はに格納されます$this->config->item('userlib_profile_fields')

Array
(
[0] => Array
    (
        [first_name] => First Name
    )
[1] => Array
    (
        [family_name] => Family name
    )
[2] => Array
    (
        [web_address] => Web Address
    )
[3] => Array
    (
        [company_name] => Company Name
    )
...
...
)

上記のキーから配列を作成したいと思います。

Array(first_name, family_name, web_address,company_name, .....)

これを試しましたが、エラーが発生します。

$profile_columns = array();
foreach($this->config->item('userlib_profile_fields') as $value)
{
    foreach($value as $key=>$value)
    {
        //var_dump ($key);
        $profile_columns = array_push($profile_columns,$key);
    }
}
// error: array_push() expects parameter 1 to be array, integer given
array_push() expects parameter 1 to be array, null given
4

4 に答える 4

1

あなたを複製する配列の例。

$array = array(
    array('first_name' => 'First Name'),
    array('family_name' => 'Family Name'),
    array('web_address' => 'Web Address'),
    array('company_name' => 'Company Name')
);

ループして抽出します。(配列キーを保持します)

$items = array();
foreach($array as $item) {
    foreach($item as $key => $value) {
        $items[$key] = $value;
    }
}

これは出力します

Array
(
    [first_name] => First Name
    [family_name] => Family Name
    [web_address] => Web Address
    [company_name] => Company Name
)

配列キーをインデックス付き配列にリセットする場合は、これを使用します。

$items = array();
foreach($array as $item) {
    foreach($item as $key => $value) {
        $items[] = $value;
    }
}

これは出力します

Array
(
    [0] => First Name
    [1] => Family Name
    [2] => Web Address
    [3] => Company Name
)
于 2012-07-03T04:31:44.220 に答える
0
    <?php
    $test = array
    (
    array  (        'first_name' => 'First Name'    ),
    array  (        'family_name' => 'Family name'  ),
    array  (        'web_address' => 'Web Address'    ),
    array  (        'company_name' => 'Company Name'    )
    );

$items = array();

for($i = 0 ; $i < count($test) ; $i++) {

array_push($items,$test[$i][key($test[$i])]);

} 
于 2012-07-03T05:00:27.983 に答える
0

変更$profile_columns = array_push($profile_columns,$key);
array_push($profile_columns,$value); または $profile_columns[] = $value;

于 2012-07-03T04:50:33.663 に答える
0
$test = array
(
array  (        'first_name' => 'First Name'    ),
array  (        'family_name' => 'Family name'  ),
array  (        'web_address' => 'Web Address'    ),
array  (        'company_name' => 'Company Name'    )
); 

$items = array();
for($i = 0 ; $i < count($test) ; $i++) {
    array_push($items,$test[$i][key($test[$i])]);
} 
print_r($items);

次のような出力が得られます:

Array ( [0] => First Name [1] => Family name [2] => Web Address [3] => Company Name )
于 2012-07-03T04:51:15.063 に答える