-2

现在,在大家将此标记为重复问题之前,请听我说完。我已经对 PHP JSON 数组、json_encode 和 json_decode 进行了充分的研究,但是它使用这些函数带来了一些问题。考虑以下代码:

<?php

$uid = $_POST['uid'];
$txt = $_POST['txt'];

$ar  = array($uid => array($txt, date("n/j/Y")));
$en  = json_encode($ar); 
echo ar;
$arr = json_decode(ar);
echo $arr->{$uid}->{$txt};

?>

我正在尝试创建一个二维键/值数组,对其进行编码、打印、解码,然后检索其中一个子值。我的代码一直有效,直到回显子值。它只是回声空白。我这样做对吗?我对 JSON 有点陌生,任何帮助都将不胜感激。谢谢!!

4

3 回答 3

1

它应该echo $arr->{$uid}[0]在最后。您传递ar给 json_deocde() 时也有几个错误,应该是$en

于 2013-07-09T04:04:57.380 回答
1

您正在将其作为 stdClass 对象访问。用作true第二个参数json_decode将其转换为array.

$arr = json_decode($en, true); // make it as array
                   ^^^// here it should be $en not $ar
echo $arr[$uid][0];

键盘

于 2013-07-09T04:06:07.890 回答
0
echo ar;
$arr = json_decode(ar);

应该

echo $ar;
$arr = json_decode($ar);
于 2013-07-09T04:05:54.610 回答