Я хочу создать массив из цикла и считать те же значения из этого массива - PullRequest
2 голосов
/ 04 апреля 2019

Я хочу создать массив из циклов.

Я пытался использовать array_count_values() для подсчета элемента массива, но переменная из цикла не читается как массив.

это мой код

$var_from_loop = "true,true,true,false,false";

Я ожидаю вывод:

true = 3
false = 2

Ответы [ 3 ]

4 голосов
/ 04 апреля 2019

Шаги для подхода 1:

1) Сначала вы можете преобразовать строку в массив с помощью explode () через запятую (,).

Вы получите следующий массив:

Array
(
    [0] => true // 1st true
    [1] => true // 2nd true
    [2] => true // 3rd true 
    [3] => false // 1st false
    [4] => false // 2nd false
)

2) Вы получите массив, содержащий 3 true и 2 false значений (элементов).

3)Затем посчитайте, сколько раз значения приходят в массив, используя array_count_values ​​() .

<code><?php
$var_from_loop = "true,true,true,false,false";
$arr = explode(',', $var_from_loop);
echo '<pre>';
print_r(array_count_values($arr));
echo '
';

Выход:

Array
(
    [true] => 3
    [false] => 2
)

Рабочий пример:

Шаги для подхода 2 (только3 строки кода):

Вы даже можете использовать substr_count () :

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

Вывод:

TRUE: 3
FALSE: 2
4 голосов
/ 04 апреля 2019

Используйте explode ( doc ), чтобы преобразовать строку в массив на ,, а затем используйте array-count-values ​​:

$var_from_loop = "true,true,true,false,false";
$arr = explode("," , $var_from_loop);
print_r(array_count_values($arr));

Живой пример: https://3v4l.org/FHrqi

2 голосов
/ 04 апреля 2019

Использование функции разнесения и подсчета массива

$var_from_loop = "true,true,true,false,false";
print_r(array_count_values(explode(",",$var_from_loop)));

Выход: -

Array
(
    [true] => 3
    [false] => 2
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...