Почему мой редактор не выделяет весь мой код PHP? - PullRequest
0 голосов
/ 11 февраля 2010

В моем редакторе кода он обычно отображает код PHP жирным шрифтом. Я обнаружил, что некоторые из моего кода не отображаются жирным синим шрифтом. Может кто-нибудь, пожалуйста, посмотрите на код ниже и скажите мне, если я делаю что-то не так? Заранее спасибо.

    <td class="hr"><?php echo htmlspecialchars("payroll number")."&nbsp;" ?></td>
    <td class="dr"><input type="text" name="GevityNo" maxlength="10" value="<?php echo str_replace('"', '&quot;', trim($row["GevityNo"])) ?>"></td>
</tr>
<tr>
    <td class="hr"><?php echo htmlspecialchars("employee name")."&nbsp;" ?></td>
    <td class="dr"><textarea cols="25" rows="1" name="employee_name" maxlength="75"><?php echo str_replace('"', '&quot;', trim($row["employee_name"])) ?></textarea></td>
</tr>
<tr>
    <td class="hr"><?php echo htmlspecialchars("Sex")."&nbsp;" ?></td>
    <td class="dr"><select name="Sex">
    <option value=""></option>
    <?php
        $lookupvalues = array("male","female");
        reset($lookupvalues);
        foreach($lookupvalues as $val){
            $caption = $val;
            if ($row["Sex"] == $val) {$selstr = " selected"; } else {$selstr = ""; }
            ?>
            <option value="<?php echo $val ?>"<?php echo $selstr ?>><?php echo $caption ?></option>
    <?php } ?>
    </select>
</td>

Ответы [ 5 ]

5 голосов
/ 11 февраля 2010
$ cat > /home/tkn/tmp/foo.php
  ... snip ...
^C
$ php -l /home/tkn/tmp/foo.php 
No syntax errors detected in /home/tkn/tmp/foo.php

Итак, да, это правильный код php. Получите лучший редактор.

1 голос
/ 11 февраля 2010

Подсветка синтаксиса является частью редактора кода, который вы используете. Если ваш код работает нормально, проблем нет.

0 голосов
/ 11 февраля 2010

Чтобы сделать ваш код более читабельным, подумайте об использовании альтернативного синтаксиса для структур управления :

<?php foreach(array("male","female") as $val): ?>
    <option value="<?php echo $val ?>" <?php echo ($row["Sex"] == $val)?'selected="selected"' : '' ?> > <?php echo $val ?> </option>
<?php endforeach; ?>

По моему мнению, так проще увидеть структуру кода.

0 голосов
/ 11 февраля 2010

Согласно http://www.php.net/manual/en/language.expressions.php точка с запятой завершает выражение (в отличие от разделения двух выражений). Я мог бы предположить, что в коде, подобном <?php echo $val ?>, не должно быть точки с запятой, чтобы сделать его на 100% соответствующим? Самокоррекция: http://www.php.net/manual/en/language.basic-syntax.instruction-separation.php

Закрывающий тег блока кода PHP автоматически подразумевает точку с запятой

0 голосов
/ 11 февраля 2010

Обычно эти проблемы связаны с ошибочно экранированным \ ". Трудно сказать, не видя весь код.

В любом случае, дважды проверьте, что с этой частью кода все в порядке:

<?php echo $selstr ?>><?php echo $caption ?><

Проверьте >> <часть </p>

...