-1

こんにちは、キー => 値の配列があります。キーは数値インデックスで、値は連想配列です。特定の位置に新しい要素を追加し、既存の要素を前に移動したい。私の配列は次のようになります

Array
(
 [0] => Array
    (
        [States ] => States
        [Call Count] => Call Count
        [Leads] => Leads
    )

 [1] => Array
    (
        [States] => AK
        [Call Count] => 0
        [Leads] => 
    )

 [2] => Array
    (
        [States] => AL
        [Call Count] => 0
        [Leads] => 
    )

 [3] => Array
    (
        [States] => AR
        [Call Count] => 0
        [Leads] => 
    )
)

今、私は1つのインデックスを挿入したいのですが2=>array('States'=>'ABC','Call Count' =>5, 'Leads'=>2)、インデックス2を3に、3を4にします.....私が使用するとき

 array_slice($outboundSummaryData, 0, 2, true) +
            array('States ' => 'States', 'Call Count' => 'Call Count', 'Leads' => 'Leads') +
            array_slice($outboundSummaryData, 2, count($outboundSummaryData) - 2, true);

それは私の2つのインデックスを上書きします。

私が使うとき

array_splice($outboundSummaryData, 2, 0, array('States ' => 'States', 'Call Count' => 'Call Count', 'Leads' => 'Leads'));

新しい配列要素を配列のメイン インデックスとして挿入します。

ヘルプはありますか?

4

4 に答える 4

1
$new_array = array_merge( 
   array_slice($outboundSummaryData, 0, 2, true),
   array( 
          array(
                'States' => 'States',
                'Call Count' => 'Call Count', 
                'Leads' => 'Leads'
               ) 
        ),
   array_slice($outboundSummaryData, 2, count($outboundSummaryData) - 2, true)
);

結果:

Array
(
    [0] => 0
    [1] => 1
    [2] => Array
        (
            [States] => States
            [Call Count] => Call Count
            [Leads] => Leads
        )

    [3] => 2
    [4] => 3
)
于 2013-06-10T06:26:18.483 に答える
0

連想配列からリストに変更しても構わない場合

$outboundSummaryData = array_splice(
     array_values($outboundSummaryData), 
     2, 0, array('States ' => 'States', 'Call Count' => 'Call Count', 'Leads' => 'Leads')
);
于 2013-06-10T06:31:33.730 に答える