注意 $expected["0"] != $expected[0] 下面这段没有明白你要达成什么样的目的。$str_expected[$i] = '$expected["'.$i.'"] = 1/(1+pow(10, (func_math_mean_array($array';
   $str_expected[$i] .= ') - $elo['.$i.'])/400));';

解决方案 »

  1.   

    $str_expected[$i] 等于 
    $expected["0"] = 1/(1+pow(10, (func_math_mean_array($array) - $elo[0])/400));
    而不是
    1/(1+pow(10, (func_math_mean_array($array) - $elo[0])/400));
    所以条件
    $str_expected[$i] == '1/(1+pow(10, (func_math_mean_array($array) - $elo[0])/400));'
    永远都不会成立
      

  2.   

    $i=$j=$k;

    $i=$k;
    $j=$k;是完全等效的。
      

  3.   

    <?php
    $count = 1;
    $i = 0;
    while($i < $count){
    $str_expected[$i] = '$expected["'.$i.'"] = 1/(1+pow(10, (func_math_mean_array($array';
    $str_expected[$i] .= ') - $elo['.$i.'])/400));';
    echo $str_expected[$i].'';
    echo "<br/><br/>";
    echo '$expected["0"] = 1/(1+pow(10, (func_math_mean_array($array) - $elo[0])/400));';
    echo "<br/><br/>";
    $your_string = '1/(1+pow(10, (func_math_mean_array($array) - $elo[0])/400));';//你条件等号右边的
    echo '<br/><br/>$str_expected[$i] length==='.strlen($str_expected[$i])."<br/>";//你条件等号左边的长度
    echo '<br/>$your_string length=='.strlen($your_string)."<br/>";//你条件等号右边的长度//test see if it's true
    if ($str_expected[$i] == $your_string) {
    echo 'true';
    }
    echo "<br/>俩字符串长度不一样,结果就不一样,自然不会'echo trur',你可以再看看你的两字符串<br/>";
    $i++;
    }
    ?>