PHP:这段代码有什么问题?



很抱歉有这么模糊的标题,但我不确定该怎么写。所以我正在练习我的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

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

如果我将$FavPeople复制并粘贴到函数中,它是有效的,但在函数中键入全局$FavPerson会使它不起作用。为什么会这样?

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

 <?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);
    ?> 

输出

我一生的挚爱

重新加载

索菲亚

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

1)

 global $FavPeople;

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

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

2)

  <?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();

我描述的两种方式是一样的,第一种似乎更正确,因为代码很清楚。如果你在一个函数中声明了一个全局变量,一年或一段时间后,如果代码太长,你会感到困惑。

它还指出,你没有正确使用全局。

检查此项:-https://eval.in/543767

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

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();
?>

相关内容

  • 没有找到相关文章

最新更新