Что не так с этим утверждением echo '<option value =' + $ index + '>' + $ county [$ index] ;? - PullRequest
0 голосов
/ 26 декабря 2009
echo '<option value='+$index+'>'+$county[$index];

Это код PHP. Это не выводит то, что я хочу. Есть идеи?

Ответы [ 6 ]

3 голосов
/ 26 декабря 2009

Для объединения текста в PHP используйте оператор ., а не +

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

Вы можете узнать больше об операторах . и .=, если хотите: Операторы строки

1 голос
/ 26 декабря 2009

Попробуйте это:

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

Вы тоже можете сделать это так:

echo "<option value={$index}>{$county[$index]}";
0 голосов
/ 26 декабря 2009

Помимо оператора конкатенации . ... PHP является языком шаблонов. Используйте это, не боритесь с этим! Избегайте обработки HTML в строках; пусть сам PHP сделает это.

А когда вы выводите произвольный текст, не забывайте использовать HTML-код, чтобы избежать проблем межсайтового скриптинга. eg.:

<?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>
0 голосов
/ 26 декабря 2009
echo '<option value="', $index, '">', $country[$index];
echo "<option value='$index'>$country[$index]";
printf('<option value="%s">%s', $index, $country[$index]);

Существуют и другие, дополнительные способы (например, sprintf и echo), которые выполняют то же самое.
Выбирай.

Лично я бы использовал первый пример, потому что echo принимает несколько аргументов.

0 голосов
/ 26 декабря 2009

С оператором echo, в отличие от других вещей в PHP, вы также можете использовать , для объединения. Говорят, что это быстрее, чем .

echo '<option value=' , $index , '>' , $county[$index];
0 голосов
/ 26 декабря 2009

Используйте либо:

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

или

echo "<option value='$index'>$county[$index]";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...