请帮助我找出 array_diff 在以下脚本提取中不起作用的原因:
$iterator_triple = (int) 3;
while($new_row = $new_response->fetch_assoc()) {
/*prices written into the end of array*/
$prices_listed[] = $new_row['price'];
$prices_listed[] = $new_row['test'];
$prices_listed[] = $new_row['bpc'];
$prices_length = count($prices_listed);
while($iterator_triple < $prices_length + 1) {
$candidates = array($prices_listed[$iterator_triple - 3], $prices_listed[$iterator_triple - 2], $prices_listed[$iterator_triple - 1]);
print_r($candidates);
$min_varan[] = min(array_diff($candidates, array(0)));
$iterator_triple = $iterator_triple + 3;
}
}
我计划在每个循环中重写 $ candidate 数组并填充 $ min_varan 数组,其中 $ candidate 数组的最小值除了0。但是array_diff和array_filter都没有为我工作,零总是保持不变,而我的min函数只是选择它。指出我的错误。
您可以假设在第一次循环期间: $ candidates = array(18000,19000,0);
在第二次循环中: $ candidates = array(26000,25000,24000);
因此, $ min_varan [0] = 0 ,而我希望看到 18000 。