Хотя я довольно опытен с PHP, я недавно встречался с этой проблемой, которая сводила меня с ума.
PHP - in_array не работает должным образом
<?PHP
// This code is just basic example
$we_need = array(
'Carrot',
'Onion',
'Milk',
'Onion',
'Potato'
); // Notice that Onion is on two places
$basket = array(); // An empty basket
foreach ($we_need as $product) {
// Add product to basket ONLY if it's not already there
if (!in_array($product, $basket)) {
$basket[] = $product;
} else {
echo "For debugging: Duplicate detected, so skipped.\n";
}
}
print_r($basket);
?>
Что не так с этим кодом? Почему массив $ basket имеет дубликаты в конце?
В моей реальной программе $ we_need извлекается из базы данных, но это не многомерный массив, а новые строки в значениях.
Я знаю, что я могу использовать array_unique() для этого подхода, но я хочу знать, где проблема?
Theres а} отсутствует для цикла Еогеасп – oBo
'in_array()' или 'is_array()'? –
Так что, опытный опыт с PHP_, да? !! – someOne