使用PHP array_diff并没有正确比较

时间:2014-01-06 20:04:57

标签: php array-difference

我正在尝试使用array_diff来比较从表中提取的值列表和我手动设置的值,但它不起作用,甚至不能关闭。它就像它不能识别我从查询构建的数组,只是输出array1不变。知道我哪里错了吗?我试过把它们放在另一边,我尝试了在查询中构建array2的不同方法,似乎没有任何帮助。

$open_positions_query = "SELECT position FROM ship_positions WHERE ship_id = '$ship_id'";
$open_positions_result = mysqli_query($mysqli, $open_positions_query);
while ($open_positions_array = mysqli_fetch_row($open_positions_result))
{
   $array2[] = array($open_positions_array);
}

$array1 = array("CO", "XO", "OPS", "NAV", "CTO", "TAC", "CMO", "MED", "CSO", "SCI", "CEO", "ENG", "CIV");   

$arrayresult = array_diff($array1, $array2);

我已将它输出到别处,现在它只是输出array1不变。如果我把它放进去,它会输出正确的差异。

$array2 = array("CO", "XO", "OPS", "NAV", "CTO", "TAC", "CMO", "SCI", "CEO");

1 个答案:

答案 0 :(得分:2)

试试这个:

while ($open_positions_array = mysqli_fetch_row($open_positions_result))
{
   $array2[] = $open_positions_array['position'];
}