将值更新为动态关联数组

时间:2015-03-18 06:50:19

标签: php arrays

我有从查询结果创建的动态数组。

现在我想更新数组中的一个键。我的数组格式是

  [94] => Array
        (
            [property] => 00251
            [bulilding] => 03
            [unit] => 000311

        )

    [95] => Array
        (
            [property] => 00251
            [bulilding] => 01
            [unit] => 000309

        )

这个数组的循环正在运行,我根据这个数组的值进行查询,如果我在查询中得到结果,那么我必须将该值插入数组。

所以它应该像

[94] => Array
        (
            [property] => 00251
            [bulilding] => 03
            [unit] => 000311
            [newval] => 000311   // This will be inserted

        )

    [95] => Array
        (
            [property] => 00251
            [bulilding] => 01
            [unit] => 000309
           [newval] => 4545// This will be inserted

        )

知道如何才能做到这一点?请帮助

2 个答案:

答案 0 :(得分:1)

试试这段代码:

<?php

    $array  =array(
            0 => array(
                    'property' => 00251,                
                    'bulilding' => 03,
                    'unit' => 000311,                   
                ),
            1 => array(
                    'property' => 00251,                
                    'bulilding' => 03,
                    'unit' => 000311,                   
                ),
        );

        echo "<pre>";
        print_r($array);

        $i=1;
        foreach($array as $key => $val) {        
            if(isset($val) && !empty($val)){
                $array[$key]['newval'] = "new_value_".$i; // please explain how you are fetching newval for more detailed solution      
                $i++;           
            }

        }

        print_r($array);
    ?>

答案 1 :(得分:0)

尝试

$new = array_merge( $your_array, array( "Stack" => "Overflow" ) );

更新

$array  =array(
        0 => array(
                'property' => 00251,                
                'bulilding' => 03,
                'unit' => 000311,                   
            ),
        1 => array(
                'property' => 00251,                
                'bulilding' => 03,
                'unit' => 000311,                   
            ),
    );
    $new = array();
    foreach($array as $arr){
     $new []= array_merge( $arr, array( "Stack" => "Overflow" ) );
    }
    print_r($new)
相关问题