Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Json的三维关联数组?_Javascript_Php_Arrays_Json - Fatal编程技术网

Javascript Json的三维关联数组?

Javascript Json的三维关联数组?,javascript,php,arrays,json,Javascript,Php,Arrays,Json,经过几次尝试,我不得不寻求一些帮助来解决这个问题。下面是一些简单的JSON: { "test": { "r1": [{ "id": 1, "status": true }, { "id": 2, "status": true }], "r2": [{ "id": 1, "status

经过几次尝试,我不得不寻求一些帮助来解决这个问题。下面是一些简单的JSON:

{
    "test": {
        "r1": [{
            "id": 1,
            "status": true
        }, {
            "id": 2,
            "status": true
        }],
        "r2": [{
            "id": 1,
            "status": false
        }, {
            "id": 2,
            "status": false
        }]
    }
}

当我从一个简单的.txt文件中读取时,这可以很好地使用javascript,但是我想从PHP创建这个JSON。我可以做一个二维关联数组,但对于这个,我似乎需要一个三维关联数组,我不能解决这个问题!有人能给我一个提示吗?或者其他解决方案是什么样子的?

这里有一个很好的例子,介绍了如何将JSON对象(字符串)转换为PHP数组,以及如何将其转换为PHP数组。
希望这能让您明白

<?php

// Original JSON object string
$jsonstring = '{
    "test":{
        "r1":[{
            "id":1,
            "status":true
        },{
            "id":2,
            "status":true
        }],
        "r2":[{
            "id":1,
            "status":false
        },{
            "id":2,
            "status":false
        }]
    }
}';

// Convert JSON string to PHP array
// This can be used by a PHP script to work on
$phparray = json_decode($jsonstring);
echo '<h3>PHP array converted from JSON string</h3><pre>'; var_dump($phparray); echo '</pre>';

// Convert it back to JSON string to prove it's the same
$jsonstring1 = json_encode($phparray);

// Now we create a PHP array corresponding to original JSON string, manually
$phparray = array (
    "test"=> array (
        "r1" => array(
            array(
                "id"=>1,
                "status"=>true
            ),
            array(
                "id"=>2,
                "status"=>true
            )
        ),
        "r2" => array(
            array(
                "id"=>1,
                "status"=>false
            ),
            array(
                "id"=>2,
                "status"=>false
            )
        )
    )
);

// Convert PHP array to JSON string
// This can be sent to a browser where it can be used by Javascript
$jsonstring2 = json_encode($phparray);

echo '<h3>Original JSON string</h3>' . $jsonstring;
echo '<h3>After conversion to array and back</h3>' . $jsonstring1;
echo '<h3>Converted from PHP array</h3>' . $jsonstring2;

?>

下面是一个包含您的数据的示例,介绍如何从JSON对象(字符串)转换为PHP数组,以及如何从PHP数组转换为JSON对象。
希望这能让您明白

<?php

// Original JSON object string
$jsonstring = '{
    "test":{
        "r1":[{
            "id":1,
            "status":true
        },{
            "id":2,
            "status":true
        }],
        "r2":[{
            "id":1,
            "status":false
        },{
            "id":2,
            "status":false
        }]
    }
}';

// Convert JSON string to PHP array
// This can be used by a PHP script to work on
$phparray = json_decode($jsonstring);
echo '<h3>PHP array converted from JSON string</h3><pre>'; var_dump($phparray); echo '</pre>';

// Convert it back to JSON string to prove it's the same
$jsonstring1 = json_encode($phparray);

// Now we create a PHP array corresponding to original JSON string, manually
$phparray = array (
    "test"=> array (
        "r1" => array(
            array(
                "id"=>1,
                "status"=>true
            ),
            array(
                "id"=>2,
                "status"=>true
            )
        ),
        "r2" => array(
            array(
                "id"=>1,
                "status"=>false
            ),
            array(
                "id"=>2,
                "status"=>false
            )
        )
    )
);

// Convert PHP array to JSON string
// This can be sent to a browser where it can be used by Javascript
$jsonstring2 = json_encode($phparray);

echo '<h3>Original JSON string</h3>' . $jsonstring;
echo '<h3>After conversion to array and back</h3>' . $jsonstring1;
echo '<h3>Converted from PHP array</h3>' . $jsonstring2;

?>


从外观上看:
array($your_array)
从什么输入创建它?实际上,你需要一个四维数组。但是,如果您知道如何创建二维数组,这对您来说应该不是问题-这里也适用相同的规则。下面是一个示例,说明如何读取/写入这样的数组:
$arr['test']['r1'][0]['id']=1
。我明白你的要求了吗?@charlietfl我想创建一个类似于此后端的JSON文件,然后用AJAX读取,并将其用作Javascript中的对象。@PetrR。感谢您提供如何读取/写入此阵列的信息!从外观上看:
array($your_array)
从什么输入创建它?实际上,您需要从中创建一个四维数组。但是,如果您知道如何创建二维数组,这对您来说应该不是问题-这里也适用相同的规则。下面是一个示例,说明如何读取/写入这样的数组:
$arr['test']['r1'][0]['id']=1
。我明白你的要求了吗?@charlietfl我想创建一个类似于此后端的JSON文件,然后用AJAX读取,并将其用作Javascript中的对象。@PetrR。感谢您提供如何读取/写入此阵列的信息!谢谢你的回答!这是四维数组吗?当脚本读取.php文件时,我在代码($phparray部分)中得到一个错误?可能是什么问题?数组与您发布的JSON字符串完全对应。你得到了什么错误?我得到了:uncaughtsyntaxerror:uncontractedtoken<我的javascript中的这一行可能有问题?var myObj=JSON.parse(xmlhttp.responseText);是的,可能。顺便说一句:我在PHP代码中添加了注释。谢谢,但我不知道怎么会出现这个错误!?我的下一步是更改此代码,以便可以在服务器上以动态方式填充数组。有什么提示吗?谢谢你的回答!这是四维数组吗?当脚本读取.php文件时,我在代码($phparray部分)中得到一个错误?可能是什么问题?数组与您发布的JSON字符串完全对应。你得到了什么错误?我得到了:uncaughtsyntaxerror:uncontractedtoken<我的javascript中的这一行可能有问题?var myObj=JSON.parse(xmlhttp.responseText);是的,可能。顺便说一句:我在PHP代码中添加了注释。谢谢,但我不知道怎么会出现这个错误!?我的下一步是更改此代码,以便可以在服务器上以动态方式填充数组。有什么提示吗?