Je veux créer un tableau à partir d'une boucle.
J'ai essayé d'utiliser array_count_values () pour compter l'élément du tableau, mais la variable de la boucle n'est pas lue comme un tableau.
mon code
true = 3 false = 2
J'attends la sortie de:
$var_from_loop = "true,true,true,false,false";
3 Réponses :
Utilisez explode ( doc ) pour convertir la chaîne en tableau en , puis utilisez array-count- valeurs :
$var_from_loop = "true,true,true,false,false";
$arr = explode("," , $var_from_loop);
print_r(array_count_values($arr));
Exemple en direct: https://3v4l.org/FHrqi
attendez ... je l'ai essayé et cela n'a pas fonctionné. Mais maintenant ça marche ... merci @dWinder
Étapes pour l'approche 1:
1) Vous pouvez d'abord convertir la chaîne en tableau par explode () par virgule (, ).
Vous obtiendrez le tableau suivant:
XXX
2) Vous obtiendrez un tableau contenant 3 valeurs (éléments) true et 2 false .
3 ) Ensuite, comptez le nombre de fois qu'une valeur arrive dans un tableau en utilisant array_count_values ( ) .
TRUE: 3 FALSE: 2
Sortie:
$var_from_loop = "true,true,true,false,false"; echo 'TRUE: '.substr_count($var_from_loop, 'true'); echo '<br/>FALSE: '.substr_count($var_from_loop, 'false');
Étapes pour l'approche 2 (seulement 3 lignes de code):
Vous pouvez même utiliser substr_count () a>:
Array
(
[true] => 3
[false] => 2
)
Sortie:
<?php
$var_from_loop = "true,true,true,false,false";
$arr = explode(',', $var_from_loop);
echo '<pre>';
print_r(array_count_values($arr));
echo '</pre>';
Utilisez la fonction d'éclatement et de décompte des tableaux
Array
(
[true] => 3
[false] => 2
)
output:-
$var_from_loop = "true,true,true,false,false";
print_r(array_count_values(explode(",",$var_from_loop)));
pouvez-vous m'aider à le changer en tableau?