无法在多维数组中回显字符串但可以print_r

Car*_*kus 0 php arrays multidimensional-array

我遇到了一个奇怪的问题,我可以print_r()变量,它会产生以下结果:

print_r($_SESSION['userdata']);

outputs: Array ( [0] => Array ( [id] => 1 [username] => admin [firstname] => carl [lastname] => wirkus [password] => password [admin] => 1 [staff] => 0 [tenant] => 0 [email] => test@test.com ) 
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试回复用户名时:

echo "You are currently logged in as: " . $_SESSION['userdata']['username'] . "<br>";

outputs: You are currently logged in as: 
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

Joh*_*nde 5

仔细看看你的print_r($_SESSION['userdata']);.它是一个数组内部的数组.所以你不够深入到达你的价值观.

echo "You are currently logged in as: " . $_SESSION['userdata'][0]['username'] . "<br>";
Run Code Online (Sandbox Code Playgroud)