-3

単純な PHP クラスを作成していますが、foreach ループ内で変数を使用しようとすると、0 (null) が出力されます。しかし、そのループの直前にエコーすると、正しい値が出力されます。何かご意見は?

class Search
{
    public static $KeyObject=null;

    //...KeyObject is assigned some value...


    public function resultsToHTML()
    {
        $KeyObject = $this->KeyObject;
        echo "inResults: $KeyObject <br />";
        $htmlString = "";
        if(!empty($this->resultList))
        {
            $htmlString .= "<table><th>Results</th><tbody>";
            foreach($this->resultList as $row)
            {
                $htmlString .= "<tr><td>"+$KeyObject+"</td></tr>";
                $htmlString .= "<tr>";
                foreach($row as $key => $value)
                {
                    $htmlString .= "<td class=\"$key\" id=\"$value\">$value</td>";
                }
                $htmlString .= "</tr>";
            }
            $htmlString .= "</tbody></table>";
        }

        return $htmlString;
    }
}

これは戻ります...

inResults: プレーヤー

4

1 に答える 1

6

これは、連結+の代わりに使用しているためです。.

$htmlString .= "<tr><td>"+$KeyObject+"</td></tr>";

を次のように置き換え+ます.

$htmlString .= "<tr><td>".$KeyObject."</td></tr>";

+文字列を整数にジャグリングし(0を返します)、そのゼロを完全に有効な$htmlString += [string here].

于 2012-12-12T16:21:46.367 に答える