现在有一数组如下Array ( [0] => hdd1 [1] => hda [2] => hda1 [3] => hda2 [4] => hda3 [5] => hdd [6]=>...) 根据数组的值,如果前三位字符一样的话就看做成一个值,最终效果如下:Array ( [0] => hdd [1] => hda [2] => ...) 请各位大牛帮下忙,谢谢了
调试欢乐多
$arr2 = array();
foreach($arr1 as $item){
$str3 = substr($item,0,3);
if(!in_array($str3,$arr2))
$arr2[] = $str3;
}
print_r($arr2);
$ar = array('hdd1', 'hda', 'hda1', 'hda2', 'hda3', 'hdd');function foo($v) {
return substr($v, 0, 3);
}$ar = array_slice(array_flip(array_flip(array_map('foo', $ar))), 0);
print_r($ar);
['hdd'] => array(
[0] => 'hdd1'
)
['hda'] => array(
[0] => 'hda1'
[1] => 'hda2'
[2] => 'hda3'
)
[0]=>'hdb'
....
)
$arr2[substr($item,0,3)][] = $item;
}
print_r(array_unique(array_map(create_function('$s','return substr($s,0,3);'),$d)));