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