php中,如何将一串数字分割成一个个,并计算他们的个数

比如19841231,怎么变成1,9,8,4,1,2,3,1
以及要计算出1的个字是多少(2个)
2的个数是多少(1个)
。。。
如此类推

需要准备的材料分别是:电脑、php编辑器、浏览器。

1、首先,打开php编辑器,新建php文件,例如:index.php。

2、在index.php中,输入代码:

$a = 19841231;$b = [];$c = [];

while($a > 0) {

$t = $a % 10;

$a = intval($a / 10);

$b[] = $t;

if (!isset($c[$t])) {

$c[$t] = 0;

}

$c[$t]++;

}

$b = array_reverse($b);

print_r($b);echo '<br/>';print_r($c);

3、浏览器运行index.php页面,此时打印出了19841231分割成一个个后的数组,以及各个数组出现的个数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-16
zangyurong的方法是正确的
str_split(string,length) 返回一个数组 将string 按长度length分割存入数组 length默认为1
array_count_values($arr) 是统计原数组$arr中各值出现的次数存入新数组中 新数组元素的键名是原数组的值,键值是该值在原数组中出现的次数
$arr = str_split("19841321") ;
$arrcont = array_count_values($arr);
$arrcount["1"]的值就是3 表示1出现了3次
第2个回答  2011-09-16
<?php
$str = "1 9 8 4 1 2 3 1"; // 你的字符串$str
$new_arr= explode( ", " , $str); //将字符串间隔加入 “ , ” 变成数组 $new_arr
foreach ($new_arr as &$value) // 遍历数组
{
.......... 用 case,剩下的自己写了嘛
}
第3个回答  推荐于2018-03-02
$arr = str_split("19841321") ;
$arrcont = array_count_values($arr);
print_r($arrcont);
输出结果:
Array ( [1] => 3 [9] => 1[8] => 1[4]=>1 [3]=>1 [2]=>1 )本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网