php - 即使 foreach 数组为空,也可以在 php foreach 中运行代码块
问题描述
我有一个动态表单,它可以同时插入和更新。这对于更新现有数据很有效,但在插入数据时不起作用,因为$input_fields
它是空的,所以会foreach
引发错误并且表单字段不会显示。那么如何在foreach
when$input_fields
为空时运行代码?
<?php foreach ($input_fields as $input_field) : ?>
// some demo code below
<div class="form-group">
<label for="">Name</label>
<input class="form-control field_name_input name" type="text" name="data[][name]" value="<?= $input_field['name'] ?>">
</div>
// some demo code below ends
<?php endforeach; ?>
我之前尝试过下面的代码foreach
if(!$input_fields) {
$input_fields = [];
};
和下面的代码foreach
foreach ((array)$input_fields as $input_field)
但这无济于事,因为第一个代码片段只是空数组,因此不会发生循环,而第二个几乎是同一件事。我希望你明白。
编辑 1: $input_fields 是我保存表单属性的数组。
解决方案
使用默认条目代替空的默认数组:
if(!is_array($input_fields) || empty($input_fields)) {
$input_fields = [
[
'name' => "Hubba Bubba"
// and some more elements
]
];
};
推荐阅读
- php - 如何使用 generate_rewrite_rules 在我的 WordPress 插件中添加到索引的路由?
- python - 我收到一条错误消息,显示列表索引超出范围
- javascript - 在.on 内调用警报时不会调用弹出窗口?
- r - ggplot2:如何更改条形/彩色几何图形中颜色美学的宽度?
- javascript - 发布的问题解决方案似乎包含不必要的代码
- linux - 将行转换为列的 Linux 脚本
- javascript - Facebook AR - Javascript
- javascript - 从 API 调用解析 JSON 后,从意图参数中提取的参数未分配给变量
- c# - 如何使用 dotnet core 和 Polly 添加动态重试策略
- javascript - 如何使物体继续在一个轴上移动,尽管它的速度在另一个轴上被阻止