-1
我有一個陣列產生多虧了MySQL查詢到我的數據庫就好像它:修改數組
Array
(
[0] => Array
(
[0] => Array
(
[id_device] => 1
[device_name] => iPhone 5
[device_brand] => Apple
)
[1] => Array
(
[id_device] => 2
[device_name] => iPhone 4/4S
[device_brand] => Apple
)
)
[1] => Array
(
[0] => Array
(
[id_device] => 3
[device_name] => Galaxy S4
[device_brand] => Samsung
)
[1] => Array
(
[id_device] => 4
[device_name] => Galaxy S3
[device_brand] => Samsung
)
)
)
我想它是這樣的:
Array
(
[Apple] => Array
(
[0] => Array
(
[id_device] => 1
[device_name] => iPhone 5
)
[1] => Array
(
[id_device] => 2
[device_name] => iPhone 4/4S
)
)
[Samsung] => Array
(
[0] => Array
(
[id_device] => 3
[device_name] => Galaxy S4
)
[1] => Array
(
[id_device] => 4
[device_name] => Galaxy S3
)
)
)
我只是不理解這些數組中的邏輯(我敢肯定這是因爲我有壓力,而且真的很忙)。有人可以幫助我嗎?
另一種解決辦法是改變MySQL查詢也許,我獲得這個數組得益於PHP類中,我使用兩種方法:
public static function getDevicesBrands()
{
$sql = 'SELECT DISTINCT '._DB_PREFIX_.'device.device_brand
FROM '._DB_PREFIX_.'device';
$rq = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
return ($rq);
}
public static function getDevicesByBrand($brand)
{
$sql = 'SELECT id_device, device_name, device_brand
FROM '._DB_PREFIX_.'device
WHERE '._DB_PREFIX_.'device.device_brand = "'.$brand.'"';
$rq = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql);
return ($rq);
}
在我的控制器中我使用得到顯示陣列一段代碼:
$device_brand = Device::getDevicesBrands();
$row = count($device_brand);
$devices_by_brand = array();
for ($i = 0; $i <= $row - 1; $i++) {
array_push($devices_by_brand, Device::getDevicesByBrand($device_brand[$i]['device_brand']));
}
echo"<pre>";
print_r($devices_by_brand);
echo"</pre>";
我想你已經解決了,那麼問題是什麼? –