比如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次
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,剩下的自己写了嘛
}
$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 )本回答被提问者和网友采纳
$arrcont = array_count_values($arr);
print_r($arrcont);
输出结果:
Array ( [1] => 3 [9] => 1[8] => 1[4]=>1 [3]=>1 [2]=>1 )本回答被提问者和网友采纳