PHP函数内部的访问数组

Otá*_*eto 0 php arrays global function global-variables

$userinfo在php函数中访问具有相同名称的数组

<?php 
    $userinfo['name'] = "bob";
    $userinfo['lastname'] = "johnson";

    function displayinfo() {
//not working 
    echo $userinfo['name']
//global also not working 
    echo global $userinfo['lastname'];

    }
    displayinfo();

?>
Run Code Online (Sandbox Code Playgroud)

$userinfo由于变量名称中有多个数组,如何在var中访问数组?

echo $userinfo['name']
//global also not working 
echo global $userinfo['lastname'];
Run Code Online (Sandbox Code Playgroud)

两者都不起作用。

sho*_*dev 5

我建议将变量传递给函数:

function displayinfo($userinfo) {
  echo $userinfo['name'];
}

$userinfo['name'] = "bob";
$userinfo['lastname'] = "johnson";

displayinfo($userinfo);
Run Code Online (Sandbox Code Playgroud)

请参见:
函数中的PHP全局函数PHP中的
全局变量是否被视为不良做法?如果是这样,为什么?

  • [此处](/sf/answers/361656921/)列出了几种可能的原因。您可以使用`global`,但是根据您的上下文,情况可能会变得混乱。 (4认同)