array_count_values () est une fonction PHP intégrée qui prend un tableau comme argument et renvoie un nouveau tableau où la clé est le seul élément qui apparaît dans le tableau et la valeur est le nombre de fois que l'élément apparaît dans le tableau d'origine. La syntaxe de la fonction est la suivante:
array_count_values(array $array): array
La valeur de retour de cette fonction est un tableau associatif, où la clé de chaque élément est la valeur du tableau d'origine, et la valeur est le nombre de fois où la valeur apparaît dans le tableau.
Supposons que nous ayons un tableau d'ID utilisateur qui contiennent un journal d'accès au site Web, et nous voulons compter le nombre de visites par utilisateur et générer un histogramme pour cela. Voici un exemple:
<?php
// Supposons qu'il s'agit des données d'accès aux utilisateurs que nous obtenons du journal du site Web
$userVisits = ['user1', 'user2', 'user3', 'user1', 'user4', 'user1', 'user2'];
// utiliser array_count_values Fonction pour obtenir le nombre de visites par utilisateur
$visitCounts = array_count_values($userVisits);
// Tableau de données de fréquence d'impression
print_r($visitCounts);
?>
Dans le code ci-dessus, la fonction array_count_values () comptera le nombre de fois que chaque utilisateur apparaît dans le tableau $ userVissits . La sortie ressemblera à:
Array
(
[user1] => 3
[user2] => 2
[user3] => 1
[user4] => 1
)
Selon l'exemple ci-dessus, nous avons obtenu des données de fréquence d'accès pour chaque utilisateur. Ensuite, nous pouvons formater ces données dans un format de données adapté pour dessiner un graphique à barres. En règle générale, le format de données d'un graphique à barres est un tableau où la clé est une catégorie (dans ce cas l'utilisateur) et la valeur est la fréquence de cette catégorie (c'est-à-dire le nombre de visites).
Par exemple, nous pouvons utiliser le code suivant pour convertir les données de fréquence au format requis pour dessiner le graphique à barres:
<?php
// Supposons que nous ayons déjà obtenu le tableau de données de fréquence $visitCounts
$visitCounts = array_count_values($userVisits);
// Le format de données requis pour se convertir en un graphique à barres
$barChartData = [];
foreach ($visitCounts as $user => $count) {
$barChartData[] = [
'label' => $user,
'value' => $count
];
}
// Données d'impression des graphiques à barres
print_r($barChartData);
?>
La sortie sera un tableau contenant des paires de valeurs clés pour chaque utilisateur et son nombre de visites, adapté à la génération d'un graphique à barres:
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
)
)
Maintenant, nous avons une gamme de données de fréquence adaptées pour dessiner un graphique à barres. Ensuite, nous pouvons utiliser des bibliothèques JavaScript populaires telles que Chart.js pour générer des graphiques à barres. Vous pouvez transmettre les données ci-dessus dans le code JavaScript frontal et utiliser ces bibliothèques pour dessiner des graphiques à barres.
Par exemple, l'utilisation de chart.js peut être implémentée comme suit:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Exemple de graphique à barres</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: 'Nombre de visites',
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>
Ce fichier HTML affiche un graphique à barres où les balises et les données proviennent du tableau de fréquence généré par PHP.