嗨,大家好,希望你能帮忙:
我正在尝试阅读体育调度计划中的xml。
我在下面是我正在阅读的XML示例。到目前为止,使用Simpmle XML我已经能够正确读取游戏的所有属性。但是在示例中,您可以看到主场比分和客场比分仅在输入分数时显示为“”。这很好,因为我想写一个简单的if语句,说如果得分为空回声“ - ”。通过这种方式,观众知道他们还没有玩。
<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的新手
答案 0 :(得分:0)
答案 1 :(得分:0)
如果我理解正确,您需要区分""
和"0"
。因为PHP尽可能地猜测你要比较的类型,$foo == 0
和$foo == ''
之类的语句不会这样做,因为它会猜测你想比较数字,并且会对{ {1}} ""
。
有几种方法可以解决这个问题:
0
运算符代替===
(或==
代替!==
)(请参阅http://uk3.php.net/manual/en/language.operators.comparison.php)!=
检查字符串的长度,看它是否为空strlen
,is_int
等检查变量的类型 - 如果您从SimpleXML中获取值,那么这个值可能无效,而SimpleXML会返回自己的类型 由于您使用的是SimpleXML,我认为代码看起来像是:
is_string