本文实例讲述了php数组操作相关技巧。分享给大家供大家参考,具体如下:
这个是一道简单的php数组入门题
1
2
|
$str = "as5454654%^$%^$7675dhasjkdhh12u123123asdasd" ; //将上面的统计上面字符串不同字符和出现的次数。 |
实现方式:将字符串转换成数组,在通过对数组的操作得到相应的结果。
1
2
3
4
5
6
7
|
$len = strlen ( $str ); //数组存在数组中 $array = array (); for ( $i =0; $i < $len ; $i ++) { array_push ( $array , substr ( $str , $i ,1)); } |
根据上面的转换函数,我们得到的了,我们想要的结果。
接下来用三种方式来完成上面的。
1
2
3
4
5
6
|
//方法1 //对数组进行sort()排序 $arr = sort( $array ); //去掉重复值 $arr1 = array_unique ( $array ); //打印数组$arr1你将发现,你继续来需要做的事了。注意键值直接的关系 |
效果图
下面来看看方法二:
1
2
3
|
//无比风骚的方法二 $arr2 = array_count_values ( $array ); //打印数组$arr2 所有问题都解决了 |
效果图
是不觉得方法二很坑爹呀~
注意:凡是可以用到php自动函数的,最好是用,理由我不说,你也应该懂
方法三:
我这里只说思想:运用acm思想,对元素数组进行快排后,再对数组进行分块处理。
效果图
看看这个函数给你上面提示:
1
2
3
|
array array_splice ( array $input , int $offset [, int $length < [, array $replacement ]] ) //把 input 数组中由 offset 和 length 指定的单元去掉,如果提供了 replacement 参数, //则用 replacement 数组中的单元取代。返回一个包含有被移除单元的数组。注意 input 中的数字键名不被保留。 |
解决问题的方式很多,我现在就想到这三种,一个简单的问题,多想想。代码就会越敲越少。这就是进步。
希望本文所述对大家php程序设计有所帮助。