我正在编写一个PHP应用程序,我想确保它不会出错.

原始代码:

<?php
$data = array('name' => 'test',
              'id'   => 'theID');

echo form_input($data);
?>

以下方法是否可以正常工作,或者由于某种原因不推荐使用?

<?= form_input(['name' => 'test', 'id' => 'theID']); ?>

有什么区别吗?

我再次查看了PHP中关于array()的数据和带方括号[]的短数组方法.但我不确定.

还有,短php标签<?= ?>是否适合回声?有版本问题吗?(提供在php.ini中启用)

推荐答案

Following [] is supported in PHP >= 5.4:

['name' => 'test', 'id' => 'theID']

这是一个简短的语法,只有PHP < 5.4 it won't work个.

Php相关问答推荐

如何在Livewire中验证多个 Select 字段

Laravel通过(扩展FormRequest类)方法验证表单请求

SQLSTATE [42S02]:找不到基表或视图:1146 Table eshop. sessions不存在'''

PHP DateInterval天数不一致

Laravel eloquent-如果没有包含InitialValue的结果,则查询where Second Value

通过访问单个产品页面更新WooCommerce产品元数据

如何在codeigniter中将order_by RAND与下面的代码一起使用

execute_query 和prepare+execute 有什么区别?

Woocommerce 仅在前端为登录用户提供价格折扣

Filament PHP v3:在禁用的表单字段上,ID 不会写入数据库

Google Drive API:为什么使用服务帐户在下载文件时会将我带到 Google Drive 登录窗口?

在 WooCommerce wc_get_products 函数中处理自定义分类法

从 Laravel 机制中排除目录并直接访问该目录

PHP 创建 CSV 文件并用波斯语写入

使用其ID查询和捕获与订单相关的其他详细信息的shopware 6方法

在WooCommerce购物车和 checkout 页面中更改总计文本

在WooCommerce中显示 checkout 的高级自定义字段(Advanced Custom Fields)并保存其值

在 PHP 中验证签名

password_verify 在 PHP 7.4 中有效,但在 PHP 8.2 中无效

使用循环和引用而不是递归创建分层/父子数组