, Ne bu açıklamaya echo '

6 Cevap php
echo '<option value='+$index+'>'+$county[$index];

PHP kodudur. İstediğim çıkışı yok. Herhangi bir fikir?

6 Cevap

PHP metin birleştirmek için . operatör değil + kullanın

echo '<option value='.$index.'>'.$county[$index];

İsterseniz . ve .= operatörler hakkında daha fazla bilgi edinebilirsiniz: String Operators

Bu deneyin:

echo '<option value=' . $index . '>' . $county[$index];

Hatta çok bu şekilde yapabilirsiniz:

echo "<option value={$index}>{$county[$index]}";

Birini kullanabilirsiniz:

echo '<option value=' . $index+'>' . $county[$index];

veya

echo "<option value='$index'>$county[$index]";

echo deyimi ile, PHP başka şeyler aksine, ayrıca bağlamak için bir , kullanabilirsiniz. Bu . daha hızlı olduğu söyleniyor

echo '<option value=' , $index , '>' , $county[$index];
echo '<option value="', $index, '">', $country[$index];
echo "<option value='$index'>$country[$index]";
printf('<option value="%s">%s', $index, $country[$index]);

There are other, additional ways (sprintf and echo, for one) that accomplish the same thing.
Take your pick.

echo birden fazla argüman alır çünkü Şahsen ben, ilk örneği kullanmak istiyorum.

Ayrı olmak birleştirme operatörü . ... PHP çiftleşmiş dildir. Kullanın, onunla mücadele etmeyin! Dizeleri HTML işleme kaçının; PHP kendisi yapsın.

Ve çıkış keyfi metin, HTML-kaçış it, cross-site betik problemlerden kaçınmak için hatırlıyorum. örn.:

<?php
    function h($s) {
        echo htmlspecialchars($s, ENT_QUOTES);
    }
?>
...

<select name="county">
    <?php for ($i= 0; $i<count($county); $i++) { ?>
        <option value="<?php h($i); ?>">
            <?php h($county[$i]); ?>
        </option>
    <?php } ?>
</select>