Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
Php 为什么可以';我是否将0设置为数组中的第一个键?_Php_Json_Arrays - Fatal编程技术网

Php 为什么可以';我是否将0设置为数组中的第一个键?

Php 为什么可以';我是否将0设置为数组中的第一个键?,php,json,arrays,Php,Json,Arrays,此代码的结果是: for($i = 0; $i <= 7; $i++){ $eachone[] = array ('a' => '1', 'b' => '2', 'c' => '3'); $a[] = array($i => $eachone); unset($eachone); } $json_string = json_encode($a); echo $json_string; 你能注意到它是如何跳过第一个数字的吗,它是零?问题是:为什么?

此代码的结果是:

for($i = 0; $i <= 7; $i++){

    $eachone[] = array ('a' => '1', 'b' => '2', 'c' => '3');

$a[] = array($i => $eachone);

unset($eachone);

}

$json_string = json_encode($a);
echo $json_string;

你能注意到它是如何跳过第一个数字的吗,它是零?问题是:为什么?

您没有为数组编制索引

for($i = 0; $i <= 7; $i++)
{

    $eachone[$i] = array ('a' => '1', 'b' => '2', 'c' => '3');

$a[$i] = array($i => $eachone);

unset($eachone);

}

$json_string = json_encode($a);
echo $json_string;

您需要json_编码($a,json_FORCE_对象)。不幸的是,它只是在5.3中添加的。

这是一个hack,但您可以预先添加一个伪元素

$a = array('dummy'=>1);
for($i = 0; $i <= 7; $i++) {
  ...
$a=array('dummy'=>1);

对于($i=0;$i您使用的是什么版本的PHP?我可以在5.3.0上复制它。问题在于json_encode-print_'r'ing$a数组显示它的索引正确。Hmmm。我可以在PHP5.1.6上复制它。谷歌搜索似乎什么都没有,也就是说没有直接的搜索词。+1。您在PHP5.1.6上!??!天啊从技术上讲,我们的服务器是不必要的。[]语法应该会自动增加索引(显然从0开始)。如果$a已经有项,并且他的for循环只是简单地添加到这些项,那么您的服务器将无法正常工作。此外,还有一个更简单的测试用例:php-r'var_dump(json_encode(array(0=>0),array(1=>1));'string(13) "[[0],{"1":1}]"我甚至无法测试它,因为Rackspace云站点被困在@5.2.6。我将尝试解决这个json_编码问题。很好,我成功地从一个对象而不是一个数组中正确使用json_编码。问题是它到处输出字符串,而不是像我在某些情况下需要的整数,但我稍后会处理。谢谢!
Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [a] => 1
                            [b] => 2
                            [c] => 3
                        )

                )

        )

    [1] => Array
        (
            [1] => Array
                (
                    [0] => Array
                        (
                            [a] => 1
                            [b] => 2
                            [c] => 3
                        )

                )

        )

    [2] => Array
        (
            [2] => Array
                (
                    [0] => Array
                        (
                            [a] => 1
                            [b] => 2
                            [c] => 3
                        )

                )

        )

    [3] => Array
        (
            [3] => Array
                (
                    [0] => Array
                        (
                            [a] => 1
                            [b] => 2
                            [c] => 3
                        )

                )

        )

    [4] => Array
        (
            [4] => Array
                (
                    [0] => Array
                        (
                            [a] => 1
                            [b] => 2
                            [c] => 3
                        )

                )

        )

    [5] => Array
        (
            [5] => Array
                (
                    [0] => Array
                        (
                            [a] => 1
                            [b] => 2
                            [c] => 3
                        )

                )

        )

    [6] => Array
        (
            [6] => Array
                (
                    [0] => Array
                        (
                            [a] => 1
                            [b] => 2
                            [c] => 3
                        )

                )

        )

    [7] => Array
        (
            [7] => Array
                (
                    [0] => Array
                        (
                            [a] => 1
                            [b] => 2
                            [c] => 3
                        )

                )

        )

)
$a = array('dummy'=>1);
for($i = 0; $i <= 7; $i++) {
  ...