Php Simplexml问题可以';无法从空属性获取Null
大家好,希望你们能帮忙: 我正在尝试读取作为体育日程安排程序一部分的xml 下面是我正在阅读的XML示例。到目前为止,使用simpmlexml,我已经能够正确读取游戏的所有属性。但是,在本例中,您可以看到homescore和awayscore在输入分数之前仅显示为“”。这很好,因为我想放一个简单的if语句,说if score是null echo“-”。这样,观众就知道他们还没有开始玩Php Simplexml问题可以';无法从空属性获取Null,php,null,simplexml,Php,Null,Simplexml,大家好,希望你们能帮忙: 我正在尝试读取作为体育日程安排程序一部分的xml 下面是我正在阅读的XML示例。到目前为止,使用simpmlexml,我已经能够正确读取游戏的所有属性。但是,在本例中,您可以看到homescore和awayscore在输入分数之前仅显示为“”。这很好,因为我想放一个简单的if语句,说if score是null echo“-”。这样,观众就知道他们还没有开始玩 <Fixture Id="404" FixtureName="Round 4" ResourceId="4
<Fixture Id="404" FixtureName="Round 4" ResourceId="4" PlayingAreaName="Court C" VenueId="2" VenueName="Adelaide Indoor Sports Centre" MapLink="" HomeTeamId="212" HomeTeam="THE SHINERS" HomeTeamScore="29" HomeTeamForfeit="False" AwayTeamId="203" AwayTeam="SANDBAR WARRIORS" AwayTeamScore="8" AwayTeamForfeit="False" Duration="40" Umpires="" CrossLeague="False" DivisionName="Division 1" CalendarColour="FFFF00" ResourceOrder="3" DateTime="13/03/2012 21:20"/>
<Fixture Id="406" FixtureName="Round 4" ResourceId="5" PlayingAreaName="Court D" VenueId="2" VenueName="Adelaide Indoor Sports Centre" MapLink="" HomeTeamId="210" HomeTeam="WE THOUGHT IT WAS A DISCO" HomeTeamScore="" HomeTeamForfeit="False" AwayTeamId="206" AwayTeam="AVERAGE JOE'S" AwayTeamScore="" AwayTeamForfeit="False" Duration="40" Umpires="" CrossLeague="False" DivisionName="" CalendarColour="FFFF00" ResourceOrder="4" DateTime="13/03/2012 21:20"/>
但是“”(空属性)总是返回零。有什么建议吗?我对php比较陌生,可以使用empty()函数
if (empty($fixture['HomeTeamScore'])) {
echo "-";
}
如果我理解正确,您需要区分
“
和“0”
。因为PHP尽其所能猜测您正在比较的类型,所以像$foo==0
和$foo==''
这样的语句不会这样做,因为它会猜测您想要比较数字,并将''
视为0
有几种方法可以解决这个问题:
- 使用
运算符代替==
(或=
代替!==
)(请参阅)!=
- 使用
检查字符串的长度,查看其是否为空strlen
- 使用
,is_int
等检查变量的类型-如果您从SimpleXML中获取了返回其自身类型的值,则此变量可能不起作用is_string
if ( (string)$fixture['HomeTeamScore'] === '' )
{
echo '-';
}
else
{
echo (string)$fixture['HomeTeamScore'];
}
PHP没有强类型。所以有时候会发生这样的事情。可以使用gettype()函数检查变量的类型。我以为那是你想要的。对不起,我不太明白你的问题