2
votes

Je veux créer un tableau à partir d'une boucle et compter les mêmes valeurs à partir de ce tableau

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";


1 commentaires

pouvez-vous m'aider à le changer en tableau?


3 Réponses :


4
votes

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


1 commentaires

attendez ... je l'ai essayé et cela n'a pas fonctionné. Mais maintenant ça marche ... merci @dWinder



4
votes

É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');

Exemple de travail:

É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>';


0 commentaires

2
votes

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)));


0 commentaires