Array_Count_values () ist eine integrierte PHP-Funktion, die ein Array als Argument nimmt und ein neues Array zurückgibt, in dem der Schlüssel das einzige Element ist, das im Array angezeigt wird, und der Wert ist die Anzahl, mit der das Element im ursprünglichen Array angezeigt wird. Die Syntax der Funktion lautet wie folgt:
array_count_values(array $array): array
Der Rückgabewert dieser Funktion ist ein assoziatives Array, bei dem der Schlüssel jedes Elements der Wert des ursprünglichen Arrays ist und der Wert die Anzahl der im Array angezeigten Wert ist.
Angenommen, wir haben eine Reihe von Benutzer -IDs, die ein Website -Zugriffsprotokoll enthalten, und möchten die Anzahl der Besuche pro Benutzer zählen und ein Histogramm dafür generieren. Hier ist ein Beispiel:
<?php
// Angenommen, dies sind die Benutzerzugriffsdaten, die wir aus dem Website -Protokoll erhalten
$userVisits = ['user1', 'user2', 'user3', 'user1', 'user4', 'user1', 'user2'];
// verwenden array_count_values Funktion, um die Anzahl der Besuche pro Benutzer zu erhalten
$visitCounts = array_count_values($userVisits);
// Frequenzdatenarray drucken
print_r($visitCounts);
?>
Im obigen Code zählt die Funktion array_count_values () die Anzahl, mit der jeder Benutzer im Array $ uservisits angezeigt wird. Die Ausgabe sieht aus wie:
Array
(
[user1] => 3
[user2] => 2
[user3] => 1
[user4] => 1
)
Nach dem obigen Beispiel haben wir für jeden Benutzer Zugriffsfrequenzdaten erhalten. Als nächstes können wir diese Daten in ein Datenformat formatieren, das zum Zeichnen eines Balkendiagramms geeignet ist. In der Regel ist das Datenformat eines Balkendiagramms ein Array, in dem der Schlüssel eine Kategorie ist (in diesem Fall der Benutzer) und der Wert die Häufigkeit dieser Kategorie (d. H. Die Anzahl der Besuche).
Beispielsweise können wir den folgenden Code verwenden, um die Frequenzdaten in das Format umzuwandeln, das zum Zeichnen des Balkendiagramms erforderlich ist:
<?php
// Angenommen, wir haben das Frequenzdatenarray bereits erhalten $visitCounts
$visitCounts = array_count_values($userVisits);
// Das Datenformat, das zur Konvertierung in ein Balkendiagramm erforderlich ist
$barChartData = [];
foreach ($visitCounts as $user => $count) {
$barChartData[] = [
'label' => $user,
'value' => $count
];
}
// Drucken von Balkendiagrammdaten
print_r($barChartData);
?>
Die Ausgabe ist ein Array mit Schlüsselwertpaaren für jeden Benutzer und deren Anzahl der Besuche, die zum Erstellen eines Balkendiagramms geeignet sind:
Array
(
[0] => Array
(
[label] => user1
[value] => 3
)
[1] => Array
(
[label] => user2
[value] => 2
)
[2] => Array
(
[label] => user3
[value] => 1
)
[3] => Array
(
[label] => user4
[value] => 1
)
)
Jetzt haben wir eine Reihe von Frequenzdaten, die zum Zeichnen eines Balkendiagramms geeignet sind. Als nächstes können wir einige beliebte JavaScript -Bibliotheken wie z. B. Diagramm.js verwenden, um Balkendiagramme zu generieren. Sie können die obigen Daten in den Front-End-JavaScript-Code übergeben und diese Bibliotheken verwenden, um Balkendiagramme zu zeichnen.
Beispielsweise kann die Verwendung von chart.js wie folgt implementiert werden:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Beispiel für ein Balkendiagramm</title>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body>
<canvas id="barChart"></canvas>
<script>
var ctx = document.getElementById('barChart').getContext('2d');
var barChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ['user1', 'user2', 'user3', 'user4'],
datasets: [{
label: 'Anzahl der Besuche',
data: [3, 2, 1, 1],
backgroundColor: ['#FF5733', '#33FF57', '#3357FF', '#F0F33F'],
borderColor: ['#FF5733', '#33FF57', '#3357FF', '#F0F33F'],
borderWidth: 1
}]
},
options: {
scales: {
y: {
beginAtZero: true
}
}
}
});
</script>
</body>
</html>
Diese HTML -Datei zeigt ein Balkendiagramm an, in dem die Tags und Daten aus dem von PHP generierten Frequenzarray stammen.