Php 不合逻辑的;未定义的偏移量;!

Php 不合逻辑的;未定义的偏移量;!,php,Php,这是我的调试代码: echo $val2[ $key ]; echo $val2[ 0 ]; echo $val2[ "0" ]; var_dump( $val2 ); die(); 这是输出: Notice: Undefined offset: 0 in index.php on line 319 Notice: Undefined offset: 0 in index.php on line 320 Not

这是我的调试代码:

        echo $val2[ $key ];
        echo $val2[ 0 ];
        echo $val2[ "0" ];
        var_dump( $val2 );
        die();
这是输出:

Notice: Undefined offset: 0 in index.php on line 319

Notice: Undefined offset: 0 in index.php on line 320

Notice: Undefined offset: 0 in index.php on line 321
array(1) { ["0"]=> float(0.123)  }
这让我发疯了,为什么它说没有钥匙,而显然有?

问题来自

$val2 = (array) json_decode( $data );
应该是:

$val2 = json_decode( $data, true ); 

我认为这是正确的
echo$val2[0]是否可以删除空格<代码>echo$val2[0]您也可以使用print_r而不是var_dump(输出不太详细)。感谢您的回复,我意识到问题来自json_decode,我在前面添加了(数组),而不是添加true作为参数2,使其作为array@JayBlanchard
var_dump
始终在括号中显示数组键,它们不是钥匙的一部分。查看变量转储(数组(“0”=>“foo”)危险-错过了Barmar的var dump。我不应该看止痛药的堆栈。