PHP未定义$Variable
我不太确定如何解决我遇到的问题PHP未定义$Variable,php,Php,我不太确定如何解决我遇到的问题 $Xsummoner_fetcher = mysqli_fetch_row($Xcheck_sql); $summonerName = $summoner[2]; $result = file_get_contents('$url'); $summoner = json_decode($result); print_r($summoner->{''.$summonerName.''}->{'id'}); 我的问题是{'.$courdername.'
$Xsummoner_fetcher = mysqli_fetch_row($Xcheck_sql);
$summonerName = $summoner[2];
$result = file_get_contents('$url');
$summoner = json_decode($result);
print_r($summoner->{''.$summonerName.''}->{'id'});
我的问题是{'.$courdername.'}
。我在下面发布了错误,它似乎是名称前面的一个$
符号。。。但是,当我使用:
print_r($summoner->{'fksakes'}->{'id'});
它起作用了;我已经回显了$callerName变量,以查看它是否回显了“FkSakes”
,而不是“$FkSakes”
,它只是回显了FkSakes。我不确定这里发生了什么
[18-May-2015 10:51:02 UTC]PHP通知:未定义属性:stdClass::$FkSakes in/testingground/test.PHP,第22行
对这里发生的事情的解释就像修复一样好
编辑:打印(召唤者)
请注意,通知
未定义属性:stdClass::$FkSakes
是描述缺少属性的标准方式,因此这不是由于错误的$
:
error_reporting(-1);
$s = new stdClass;
var_dump($s->FkSakes); // Undefined property: stdClass::$FkSakes
这里的问题是属性名是fksakes
,而不是fksakes
(属性名区分大小写)。因此,您可以执行以下操作:
$summonerName = strtolower($summoner[2]);
print_r($summoner->$summonerName->id); // 801808
请显示此
print\r($caller)的输出代码>使用{'\'.$COURMERNAME.'\''}感谢您对错误代码的澄清,并报告问题和修复:非常感谢你,伙计。
$summonerName = strtolower($summoner[2]);
print_r($summoner->$summonerName->id); // 801808