从json导出后有多个数组?

时间:2016-03-16 15:06:57

标签: php arrays json

这是我的JSON文件:

{"settings":{"name":"pracamojanowa","owner":"kaitek666","id":"AhuJagUjAHu8"}}

我想从这个数组中获取owner。我将所有值导出到一个数组中,但是当我尝试..

$data2['settings']['owner'][$_SESSION['user']];

我收到false次返回并收到错误:

警告:第84行的C:\ xampp \ htdocs \ test \ login \ home.php中的非法字符串偏移'kaitek666'

这对我来说有点奇怪,但我的print_r导出的数组看起来有点不寻常:

Array ( [settings] => Array ( [name] => pracamojanowa [owner] => kaitek666 [id] => AhuJagUjAHu8 ) )

我需要访问owner值和上面的PHP代码才能返回true

1 个答案:

答案 0 :(得分:3)

$data2['settings']['owner']

包含所有者的值。

通过执行$data2['settings']['owner'][$_SESSION['user']];,您尝试将字符串"kaitek666"视为数组,因此会出错。

如果您只想让所有者$data2['settings']['owner']的值包含您想要的内容。如果您想查看所有者是否与user中的$_SESSION值匹配,请执行以下操作:

if($data2['settings']['owner'] === $_SESSION['user']){
    echo "Owner match!";
}else{
    echo "Owner does not match!";
}