Ich habe diese Abfrage (es funktioniert):PHP - re-arange Schlüssel und Werte im Array
$filesQuery = "SELECT COUNT(cs_file.iduser) AS newFile, DATE(cs_file.add_date) AS
dateAdded
FROM cs_file
INNER JOIN cs_team_has_user ON cs_team_has_user.iduser = cs_file.iduser
INNER JOIN cs_portal_has_team ON cs_portal_has_team.idteam = cs_team_has_user.idteam
WHERE cs_file.add_date >= DATE(NOW()) - INTERVAL {$range} DAY
AND cs_file.isImage = 0
GROUP BY DATE(cs_file.add_date)
WITH rollup";
Die Abfrage gibt mir dieses Ergebnis:
[0]=>
array(2) {
["newFile"]=>
string(2) "12"
["dateAdded"]=>
string(10) "2016-03-23"
}
[1]=>
array(2) {
["newFile"]=>
string(1) "2"
["dateAdded"]=>
string(10) "2016-04-01"
}
[2]=>
array(2) {
["newFile"]=>
string(2) "10"
["dateAdded"]=>
string(10) "2016-04-22"
}....
Was ich machen müssen ist make dateAdded ein Schlüssel und newFile (die Zählung) ein Wert. Wie folgt:
[
'2016-03-23' => '12',
'2016-04-01' => '2',
'2016-04-22' => '10'
]
Ist dies mit der Abfrage möglich? Oder gibt es einen effizienteren Weg, dann mit foreach-Schleife?
Es kann leicht mit Hilfe von [array_column()] (http://www.php.net/manual/en/function.array-column.php) erfolgen: '$ result = array_column ($ result, 'newFile', 'dateAdded'); ' –