我有两个数字数组说:
$x = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
and
$y = array(1,3,6);
如何计算它们之间的差异。我喜欢这样的结果:
$result = array(2,4,5,7,8,9,10,11,12,13,14,15,16);
即数字数组返回类型,我使用了array_diff()
和array_assoc_diff()
但我得到一个字符串数组
谢谢
答案 0 :(得分:0)
哦,坦克家伙,我修复了问题,在我的代码中某处出现了错误
这实际上是代码:
<?php
$schedule_id = $_POST['schedule_id'];;
$query = " SELECT seat_selected FROM masstransit_reserve WHERE schedule_id = '".$schedule_id."' ";
$result = mysqli_query($dbConn,$query) or die("Error: ".mysqli_error($dbConn));
$occupied_seats = array();
foreach($result as $row){
$occupied_seats[] = $row;
}
$seats = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
$result1 = array_diff($seats, $occupied_seats);
echo json_encode($result1);
?>
因为这行中的[] $ occupied_seats [] = $ row; 我收到了错误。 我刚删除它并且效果很好
答案 1 :(得分:0)
您也可以使用此代码:
$x = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
$y = array(1,3,6);
$z = array();
foreach ($x as $value) {
if(!in_array($value, $y)) {
$z[] = $value;
}
}
print_r($z);