本文实例讲述了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程序设计有所帮助。