php substr 不处理变量
php substr not working on variable
我有一批使用 php 变量构建 table 的代码。
我想做的是捕获 flight.flightnum flight.flightnum returns BAW111 的前 3 个字符,我想要 BAW 位。简单吧?好吧,我现在是 php 专家,但使用 substr 对我来说根本不起作用。代码如下:
<script type="text/html" id="acars_map_row">
<tr class="<%=flight.trclass%>">
<td><a href="<?php echo url('/profile/view');?>/<%=flight.pilotid%>"><%=flight.pilotid%> - <%=flight.pilotname%></a></td>
<td><%=flight.flightnum%></td>
<td><%=flight.depicao%></td>
<td><%=flight.arricao%></td>
<td><%=flight.phasedetail%></td>
<td><%=flight.alt%></td>
<td><%=flight.gs%></td>
<td><%=flight.distremaining%> <?php echo Config::Get('UNITS');?> / <%=flight.timeremaining%></td>
</tr>
</script>
我以前从未使用过这些类型的变量,我尝试过:
<?php $result = "<%=flight.flightnum%>"; echo $result ?> // = BAW111
<?php $result = "<%=flight.flightnum%>"; echo substr($result, 0 ,3) ?> // gives an error and nothing is returned.
我确定这很明显,但我没有想法。
您需要将变量包装在 PHP 标记中以便对其进行解析。
例如
<td><?php <%=flight.flightnumber%> ?></td>
它们可能会像当前代码一样显示为 HTML 标签。
...
´$result´ 可能包含对该对象的引用。先尝试用引号括起来。
<?php
$result = "<%=flight.flightnum%>";
echo substr($result, 0 ,3)
?>
<%=flight.flightnum%>
在客户端进行处理,因此您的:
echo substr($result, 0 ,3)
正在投放:
<%=
进入您的来源(例如前 3 个字符)。这会破坏页面生成,因为标记无效。
在运行 <%=stuff%>
处理之后,您需要在客户端解决此问题。
此外,var_dump
输出有关变量的信息。它将显示其值、类型和长度。本例中的 21 是 <%=flight.flightnum%>
的长度。这也被输出了,但是无论 运行 是什么,<%=
s(我认为 ASP)都将其转换为飞行值.
我有一批使用 php 变量构建 table 的代码。
我想做的是捕获 flight.flightnum flight.flightnum returns BAW111 的前 3 个字符,我想要 BAW 位。简单吧?好吧,我现在是 php 专家,但使用 substr 对我来说根本不起作用。代码如下:
<script type="text/html" id="acars_map_row">
<tr class="<%=flight.trclass%>">
<td><a href="<?php echo url('/profile/view');?>/<%=flight.pilotid%>"><%=flight.pilotid%> - <%=flight.pilotname%></a></td>
<td><%=flight.flightnum%></td>
<td><%=flight.depicao%></td>
<td><%=flight.arricao%></td>
<td><%=flight.phasedetail%></td>
<td><%=flight.alt%></td>
<td><%=flight.gs%></td>
<td><%=flight.distremaining%> <?php echo Config::Get('UNITS');?> / <%=flight.timeremaining%></td>
</tr>
</script>
我以前从未使用过这些类型的变量,我尝试过:
<?php $result = "<%=flight.flightnum%>"; echo $result ?> // = BAW111
<?php $result = "<%=flight.flightnum%>"; echo substr($result, 0 ,3) ?> // gives an error and nothing is returned.
我确定这很明显,但我没有想法。
您需要将变量包装在 PHP 标记中以便对其进行解析。
例如
<td><?php <%=flight.flightnumber%> ?></td>
它们可能会像当前代码一样显示为 HTML 标签。
...
´$result´ 可能包含对该对象的引用。先尝试用引号括起来。
<?php
$result = "<%=flight.flightnum%>";
echo substr($result, 0 ,3)
?>
<%=flight.flightnum%>
在客户端进行处理,因此您的:
echo substr($result, 0 ,3)
正在投放:
<%=
进入您的来源(例如前 3 个字符)。这会破坏页面生成,因为标记无效。
在运行 <%=stuff%>
处理之后,您需要在客户端解决此问题。
此外,var_dump
输出有关变量的信息。它将显示其值、类型和长度。本例中的 21 是 <%=flight.flightnum%>
的长度。这也被输出了,但是无论 运行 是什么,<%=
s(我认为 ASP)都将其转换为飞行值.