PHP数组操作入门题

这个是一道简单的PHP数组入门题

[php]

$Str = "as5454654%^$%^$7675dhasjkdhh12u123123asdasd";

//将上面的统计上面字符串不同字符和出现的次数。

[/php]

实现方式:将字符串转换成数组,在通过对数组的操作得到相应的结果。

[php]

$len = strlen($str);

//数组存在数组中

$array = array();

for($i=0;$i<$len;$i++)

{

array_push($array,substr($str,$i,1));

}

[/php]

根据上面的转换函数,我们得到的了,我们想要的结果。

接下来用三种方式来完成上面的。

[php]

//方法1

//对数组进行sort()排序

$arr = sort($array);

//去掉重复值

$arr1 = array_unique($array);

//打印数组$arr1你将发现,你继续来需要做的事了。注意键值直接的关系

[/php]

效果图

效果图

下面来看看方法二:

[php]

//无比风骚的方法二

$arr2 = array_count_values($array);

//打印数组$arr2 所有问题都解决了

[/php]

效果图

效果图

是不觉得方法二很坑爹呀~ 注意:凡是可以用到PHP自动函数的,最好是用,理由我不说,你也应该懂

方法三:

我这里只说思想:运用ACM思想,对元素数组进行快排后,再对数组进行分块处理。

效果图

效果图

看看这个函数给你上面提示:

[php]

array array_splice ( array $input , int $offset [, int $length< [, array $replacement ]] )

//把 input 数组中由 offset 和 length 指定的单元去掉,如果提供了 replacement 参数,
//则用 replacement 数组中的单元取代。返回一个包含有被移除单元的数组。注意 input 中的数字键名不被保留。

[/php]

解决问题的方式很多,我现在就想到这三种,一个简单的问题,多想想。代码就会越敲越少。这就是进步。对吧~~

听听您的高见??

发表评论

电子邮件地址不会被公开。 必填项已用*标注