php - 仅获取与数组中的值不同的值
问题描述
我正在尝试运行一个 for 循环来检查数组中的所有值,然后运行 if 语句,如果任何值与数组中的值匹配,它就会跳过该值。我有这个:
总座位数
10
$seats_arr = [1, 4, 7]
$result = mysqli_query($con, "SELECT * FROM trains WHERE id='$id'");
while ($row = mysqli_fetch_array($result)) {
$total_seats = $row['seats'];
$booked_seats = $row['booked_seats'];
$viti = $row['viti'];
$seats_arr = preg_split("/\,/", $viti);
print_r($seats_arr);
?>
<select class="custom-select col-12" name="selected_seat">
<option selected="" disabled>Choose your seat</option>
<?php
$N = $total_seats;
foreach ($seats_arr as $seat) {
for($i=1; $i <= $N; $i++) {
if($i == $seat){
continue;
}
?>
<option value="<?php echo $i; ?>"><?php echo "Seat ", $i; ?></option>
<?php
}
}
}
?>
</select>
期望的输出
2, 3, 5, 6, 8, 9, 10
解决方案
既然你正在处理数字......这应该工作得很好
$range = range(1,$total_seats);
$seats_arr = [1, 4, 7];
$newunselected = array_diff($range,$seats_arr); //Your new array you can foreach this
print_r($newunselected);
推荐阅读
- momentjs - Moment.js - 时区的简化列表
- javascript - 使用 Javascript 或 Lodash 过滤嵌套数组
- arrays - 在列表中显示对象数组时如何使用 *ngIf 创建断点?
- java - 错误显示当我清楚地将它写在它所指的类中时,方法是未定义的,用Java?
- java - 根据开始日期和结束日期创建通知时间线?
- security - GitHub Action Repository Secrets & 如何保护 client_payload repo 调度事件 Azure Container Registry
- jupyter-notebook - Google Colab 中的 Dataprep.eda
- javascript - Angular - 在选择所有选项之前禁用按钮
- c# - 排序列表
C#中的字母数字 - java - 当我尝试执行“OkHttpClient.execute()”时应用程序关闭