在我的代码编辑器中,它通常以粗体蓝色打印显示PHP代码。我发现我的一些代码没有显示为粗体蓝图。有人可以看看下面的代码并告诉我,如果我做错了什么?提前谢谢。
<td class="hr"><?php echo htmlspecialchars("payroll number")." " ?></td>
<td class="dr"><input type="text" name="GevityNo" maxlength="10" value="<?php echo str_replace('"', '"', trim($row["GevityNo"])) ?>"></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("employee name")." " ?></td>
<td class="dr"><textarea cols="25" rows="1" name="employee_name" maxlength="75"><?php echo str_replace('"', '"', trim($row["employee_name"])) ?></textarea></td>
</tr>
<tr>
<td class="hr"><?php echo htmlspecialchars("Sex")." " ?></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>
答案 0 :(得分:5)
$ 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 :(得分:1)
语法高亮是您正在使用的代码编辑器的一部分。如果您的代码工作正常,那么就没有问题了。
答案 2 :(得分:0)
通常这些问题与错误转义有关。“没有看到整个代码很难说。
无论如何,请仔细检查这部分代码是否正常:
<?php echo $selstr ?>><?php echo $caption ?><
检查&gt;&gt;&lt;部分
答案 3 :(得分:0)
根据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代码块的结束标记 自动暗示分号
答案 4 :(得分:0)
为了使您的代码更具可读性,请考虑使用alternative syntax for control structures:
<?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; ?>
我认为这样可以更容易地看到代码的结构。