PHP从json创建的数组中添加/删除值

时间:2016-01-18 09:35:01

标签: php arrays

在Json webservice的响应中使用json_decode()后,我有一个如下所示的数组:

    [11] => Array
        (
            [0] => 80B37803-6278-5351-BC7A-D3A2FBFF8AA7
            [1] => test
            [2] => 
        )

    [12] => Array
        (
            [0] => 70B37803-6278-5351-BC7A-D3A2FBFF8AA8
            [1] => test 2
            [2] => 
        )

    [13] => Array
        (
            [0] => 90B37803-6278-5351-BC7A-D3A2FBFF8AA9
            [1] => test 3
            [2] => 
        )

要打印数组,请使用以下代码:

echo '<pre>'; print_r($responseArticle); echo '</pre>';

如何按顺序编辑这种数组,例如,添加第3行或删除已存在的行之一?

3 个答案:

答案 0 :(得分:1)

$newArray = json_decode($json_data);

添加内部数据  为11行添加一列

$newArray[11][4] = 'this is the 4th column';

删除

unset($newArray[11][4]);

用于添加行

$newArray[lastindex] = array('90B37803-6278-5351-BC7A-D3A2FBFF8AA9','test4','');

删除行

  unset($newArray[index]);

答案 1 :(得分:1)

添加数组的另一个值是使用array_push并删除它,您可以使用unset。请参阅下面的示例。

<?php 
        $json_array[11] = array('80B37803-6278-5351-BC7A-D3A2FBFF8AA7','test','');
        $json_array[12] = array('70B37803-6278-5351-BC7A-D3A2FBFF8AA8','test 2','');
        $json_array[13] = array('90B37803-6278-5351-BC7A-D3A2FBFF8AA9','test 3','');

        array_push($json_array, array('90B37803-6278-5351-BC7A-D3A2FBFF8AA9','test 4',''));
        echo '<pre>';print_r($json_array);echo '</pre>';

        unset($json_array[14]);
        echo '<pre>';print_r($json_array);echo '</pre>';
    ?>

答案 2 :(得分:0)

为N键添加一些信息:

$responseArticle[N] = array('80B37803-6278-5351-BC7A-D3A2FBFF8AA7', 'testN', '');

删除存储在N键中的信息:

if(isset($responseArticle[N]) {
 unset($responseArticle[N]);
}

这里N可以是任何数字,例如你在问题中提到的3。