为什么只有我的两个变量增量语句有效?

时间:2017-12-29 23:50:39

标签: php

这让我疯了。我花了几个小时试图调试这个,但我无处可去。 $total 1每次$result != 'REMAKE'增加$result == 1,但只有$result == 0(而不是$total += 1时)才会增加didAccountWinMatch()。我无法弄清楚为什么。我试过0,但没有任何区别。

1将返回'REMAKE'$total = 0; $wins = 0; if (isset($match)) { foreach ($match as $key => $value) { $result = didAccountWinMatch($accountId, $match[$key]); if ($result != "REMAKE") { $total ++; $wins += $result; } } } else { $total = 0; $wins = 0; } <TextBox /> <TextBox.Background> <ImageBrush x:Name="image_background" Stretch="Fill" TileMode="None" AlignmentX="Left" AlignmentY="Center" /> </TextBox.Background> </TextBox>

image_background.ImageSource = null;
image_background.ImageSource = CreateBitmapSource(System.Windows.Media.Color.FromArgb(255, 0, 0, 0)); // Black Color

1 个答案:

答案 0 :(得分:2)

使用!==代替!=。如果在整数和字符串之间使用松散比较运算符,则首先将字符串转换为整数。将字符串REMAKE转换为整数会产生0,因此代码等同于

if ($result != 0)

$result是一个整数。

严格比较运算符!==不执行类型转换;如果操作数是不同的类型,则返回false