我期待將我的數組分組到子數組中,當它們具有相同的供應商ID時。我在這裏看過很多類似的問題,但是我無法讓他們中的任何人爲我工作。我已經嘗試了foreach循環,甚至PHP合併函數。我必須爲此使用MySQLi,所以我不能使用PDO進行分組。按值分組數組
這是我有:
Array
(
[supplierID] => 1
[drugID] => 1
[costPrice] => 9.98
[reorderQTY] => 50
)
Array
(
[supplierID] => 1
[drugID] => 2
[costPrice] => 9.98
[reorderQTY] => 50
)
Array
(
[supplierID] => 2
[drugID] => 3
[costPrice] => 9.98
[reorderQTY] => 50
)
這就是我需要:
Array
(
[supplierID] => 1
Array
(
[drugID] => 1
[costPrice] => 9.98
[reorderQTY] => 50
)
[drugID] => 2
[costPrice] => 9.98
[reorderQTY] => 50
)
)
Array
(
[supplierID] => 2
Array
(
[drugID] => 3
[costPrice] => 9.98
[reorderQTY] => 50
)
)
這是我在輸出陣列以獲得上述結果的PHP:
if(isset($_POST["automatic"])){
$sql = "SELECT supplierID,drugID,costPrice,reorderQTY FROM drugs WHERE quantityInStock <= reorderLevel";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo "<pre>";
print_r($row);// I need to sort this array into sub array groups by supplierID key
echo "</pre>";
}
}else{
echo " <tr><td>0 results </td></tr>";
}
mysqli_close($conn);
}
pdo與分組有什麼關係?分組是你在sql中做的事情,而且pdo只是在那裏發送sql到數據庫服務器。它可以不在乎如果你分組或不。這不是pdo的工作。 –
你不能讓數組看起來像你想要的。這是一個無效的標記。您不能有多個具有相同名稱的密鑰(「supplierID」)。並且你不能同時使用整數和數組。@Tom Millards下面的回答是你應該去的方式...... –