我想从循环创建数组。
我尝试使用array_count_values()
对数组元素进行计数,但是循环中的变量未读作数组。
这是我的代码
$var_from_loop = "true,true,true,false,false";
我希望输出:
true = 3
false = 2
答案 0 :(得分:5)
答案 1 :(得分:4)
方法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()计算一个值进入数组的次数。
<?php
$var_from_loop = "true,true,true,false,false";
$arr = explode(',', $var_from_loop);
echo '<pre>';
print_r(array_count_values($arr));
echo '</pre>';
输出:
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
答案 2 :(得分:2)
使用爆炸和数组计数功能
eval_metric=r2_score
输出:-
$var_from_loop = "true,true,true,false,false";
print_r(array_count_values(explode(",",$var_from_loop)));