php - PHP如何从像{{Name}}这样的变量中获取数据
问题描述
<?php
$status = '{{order_number}}';
echo $status;
?>
当我回显输出值时,我有此代码,但是当我检查长度时它变为修复 16 如何检查与它的值相同的长度?
完整的 PHP 代码:
<div class="status"><i class="icon-{{status}} icon-lg" title="{{status_label}}" data-toggle="tooltip"></i></div>
<div class="order"><a data-action="show" href="#" href="#">{{order_number}}</a></div>
<div class="customer">
{{#compare customer_id '===' 0}}<?php /* translators: woocommerce */ _e( 'Guest', 'woocommerce' ); ?>{{else}}
<a data-action="customer" href="#" data-customer="{{customer_id}}">{{customer_name}}</a>
{{/compare}}
</div>
<div class="note">{{#if note}}<i class="icon-note" title="{{note}}" data-toggle="tooltip"></i>{{/if}}</div>
<div class="date">{{formatDate completed_at format='MMMM Do YYYY, h:mm a'}}</div>
<div class="total">{{{money total}}}</div>
<div class="actions">
<a class="btn btn-info btn-sm" href="#" data-action="show"><?php /* translators: wordpress */ _e( 'View' ); ?></a> <?php
$status = '{{order_number}}';
echo $status;
?>
</div>
更新:将pastebin的完整代码添加到问题中。
解决方案
问题
您对事物的执行方式有错误的理解。如果我没记错的话,您的代码是由 PHP 和一些 javascript 视图框架(我猜可能是 Angular)处理的。该语法{{some_name}}
由 javascript 视图框架使用。它们仅在浏览器中处理。
现在,让我们回顾一下处理顺序:
- 您的服务器将处理所有
<?php ?>
内容并替换为结果。 - 服务器结果将被发送到浏览器。
- 您的视图框架将在浏览器上工作以处理该服务器结果(例如
{{some_name}}
标签)以提供最终的浏览器输出。
因此,服务器永远不会知道您的 javascript 将注入您的 HTML 的值。该字符串{{order_number}}
将始终完全{{order_number}}
在您的服务器上。它仅在浏览器上被处理成您想要的值。
建议
您应该了解如何在视图框架中执行逻辑(即"{{some_name}}"
格式中的变量),而不是使用 PHP。如果您真的需要在 PHP 中执行此操作,请首先了解如何在您的 PHP 中获取您的订单号(即$some_name
格式中的变量)。
推荐阅读
- php - 一定时间后限制访问节点
- rabbitmq - 如何解释 RabbitMQ 消息统计信息?
- mobile - 对于非常大的文件,无法在移动设备中查看模型信息和属性
- rust - 当返回对作用域外值的可变引用的不可变引用时,为什么在作用域结束时会丢弃可变引用?
- sql - 更新查询连接表
- javascript - 字符串到数字的嵌套数组
- datetime - ionic 3 ion-datetime 可以选择无效日期
- ios - Dispatch Queue 中的 Dispatch Queue Priority 和 QoS 有什么区别?
- gnuradio - GNU Radio 循环缓冲区操作
- windows-installer - 自动升级基于 MSI 的应用程序的最佳做法是什么?