Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:What';这个密码怎么了?_Php_Variables_Scope_Global Variables - Fatal编程技术网

PHP:What';这个密码怎么了?

PHP:What';这个密码怎么了?,php,variables,scope,global-variables,Php,Variables,Scope,Global Variables,很抱歉这么模糊的标题,但我不知道该怎么写。因此,我正在练习我的PHP技能,并编写了以下代码 <?php $FavPeople = array ( 'Sofia', 'Love of my life', 'Jesus', 'Savior of my soul', 'Austin', 'Favorite Nephew' ); function randomPerson() { $total = count($FavPeople);

很抱歉这么模糊的标题,但我不知道该怎么写。因此,我正在练习我的
PHP
技能,并编写了以下代码

<?php

$FavPeople = array
    (
    'Sofia', 'Love of my life',
    'Jesus', 'Savior of my soul',
    'Austin', 'Favorite Nephew'
    );

function randomPerson()
{

    $total = count($FavPeople);
    $ranNumber = rand(0, $total-1);

    echo $FavPeople[$ranNumber] . '</br>';

}

randomPerson();

?> 
在我的职责范围内。 它不跑了。相反,我得到一个空白屏幕,没有错误


如果我将$FavPeople复制并粘贴到函数中,它会工作,但在函数中键入global$FavPeople会使它无法工作。为什么会这样?

我对评论做了一些小修改。您不需要将其指定为全局,只需通过在函数签名中进行幻灯片更改将其作为参数传递即可

 <?php

    $FavPeople = array
        (
        'Sofia', 'Love of my life',
        'Jesus', 'Savior of my soul',
        'Austin', 'Favorite Nephew'
        );

    function randomPerson($FavPeople)
    {

        $total = count($FavPeople);
        $ranNumber = rand(0, $total-1);

        echo $FavPeople[$ranNumber] . '</br>';

    }

    randomPerson($FavPeople);

    ?> 

输出 我一生的爱

重新加载 索非亚

如果你想让它全球化,有两种方法

(一)

global$favppeople;
函数
{
$FavPeople=数组
(
“索菲亚”,“我一生的挚爱”,
“耶稣”,“我灵魂的救世主”,
“奥斯汀”,“我最喜欢的侄子”
);
$total=计数($favppeople);
$ranNumber=rand(0,$total-1);
echo$FavPeople[$ranNumber]。
'; } 随机人();
(二)


只需在函数中的变量之前添加global

function randomPerson(){

    global $FavPeople;   // Add this
    $total = count($FavPeople);
    $ranNumber = rand(0, $total-1);
    echo $FavPeople[$ranNumber] . '</br>';
}
函数randomPerson(){
全局$FavPeople;//添加此
$total=计数($favppeople);
$ranNumber=rand(0,$total-1);
echo$FavPeople[$ranNumber]。
'; }
希望这有帮助。


<?php

$FavPeople = array
    (
    'Sofia', 'Love of my life',
    'Jesus', 'Savior of my soul',
    'Austin', 'Favorite Nephew'
    );

function randomPerson()
{
    global $FavPeople ;
    $total = count($FavPeople);
    $ranNumber = rand(0, $total-1);

    echo $FavPeople[$ranNumber] . '</br>';

}

randomPerson();

?>

尝试在数组之前添加全局,例如global$FavPeople=array(---);一种方法是在函数中添加一个参数。。比如
randomPerson($person)
。。然后在其上提供
$FavPeople
数组。将其用作
randomPerson($FavPeople)
函数randomPerson($FavPeople)
randomPerson($FavPeople)
函数randomPerson($FavPeople)
它正在与
全局
一起工作。我试过这个,不知什么原因它不起作用。我想知道为什么,因为从我的理解来看,这就是你的“假设”是如何做到的,为了在你的本地范围内获得全局的,因为它有效,但它并没有真正回答我的问题。我想知道为什么我函数中的全局$FavPeople不起作用。它应该“导入”,也就是说,变量在我的局部作用域内,但它没有。好的,我将编辑我的答案。@user2763154如果您可以在函数内将$FavPeople声明为全局变量,那么它正在工作,如果您在函数外将其声明为全局变量,可能是函数将其视为两个不同的变量。@user2763154请检查答案,我已经编辑了它,希望现在您能更清楚地看到它。@user2763154如果您想进一步了解它,请告诉我。对于您的代码,它可以工作,但问题是当代码太长时,您会感到困惑,请检查我的答案,我已经贴了两条路了。你会明白的。谢谢@PrafullaKumarSahu
  <?php

$FavPeople = array
    (
    'Sofia', 'Love of my life',
    'Jesus', 'Savior of my soul',
    'Austin', 'Favorite Nephew'
    );

function randomPerson()
{
    global $FavPeople;
    $total = count($FavPeople);
    $ranNumber = rand(0, $total-1);

    echo $FavPeople[$ranNumber] . '</br>';

}

randomPerson();
function randomPerson(){

    global $FavPeople;   // Add this
    $total = count($FavPeople);
    $ranNumber = rand(0, $total-1);
    echo $FavPeople[$ranNumber] . '</br>';
}
<?php

$FavPeople = array
    (
    'Sofia', 'Love of my life',
    'Jesus', 'Savior of my soul',
    'Austin', 'Favorite Nephew'
    );

function randomPerson()
{
    global $FavPeople ;
    $total = count($FavPeople);
    $ranNumber = rand(0, $total-1);

    echo $FavPeople[$ranNumber] . '</br>';

}

randomPerson();

?>