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@JayBlanchardvar_dump
始终在括号中显示数组键,它们不是钥匙的一部分。查看变量转储(数组(“0”=>“foo”)代码>危险-错过了Barmar的var dump。我不应该看止痛药的堆栈。