php对二维数组进行相关操作(排序、转换、去空白等)
array_values($array) //返回所有键值$result=array_reverse($input); //将数组颠倒,不保留键名 array_keys($array,"blue"); //返回值为blue的键名 1. PHP二维数组去重复项函数PHP数组去除重复项有个内置函数array_unique (),但是php的 array_unique函数只适用于一维数组,对多维数组并不适用,以下提供一个二维数组的array_unique函数 // 判断是否保留二级数组键 (所有二级数组键必须相同)if($ndformat) $ndArr = array_keys(end($array2D)); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 //去掉重复的字符串,也就是重复的一维数组 //再将拆开的数组重新组装 return $output; print_r($array2D); 2. 二维数组的排序方法一维数组排序方法:公用函数:'; print_r($arr); echo ''; } 第一组 :sort 和 rsort ,按照PHP数组键值的顺序asc和逆序desc进行排序,同时破坏原来数组的索引关系——其实是删除索引之后重新建立从0开始的数字索引。 1,2); sort($a); printr($a); rsort($a); printr($a);/*Array Array 第二组函数:asort 和 arsort ,这两个函数就比较厉害一点了,只要他们可以保留数组原有的索引关系,把上例的sort 和 rsort 分别用这两个函数替换一下 1,2); asort($a); printr($a); arsort($a); printr($a); /* Array ( [a] => 1 [0] => 2 )Array 第三组PHP数组排序函数:krsort 和 ksort ,这两个不同于以上两组,这两函数是对键名进行排序的. 1,2); ksort($a); printr($a); krsort($a); printr($a);/* Array 通过自定义函数对PHP数组进行排序,有三个函数分别是: uasort 通过自定义函数对PHP数组的键值进行排序,并且保留原来的索引关系。 uksort 通过自定义函数对PHP数组的键名进行排序,并且保留原来的索引关系。 usort通过自定义函数对PHP数组的键值进行排序,并且删除原来的索 引关系,从零开始建立新的索引。 下面是二维排序:
* @param array $ArrayData the array to sort.
* @param string $KeyName1 the first item to sort by.
* @param string $SortOrder1 the order to sort by("SORT_ASC"|"SORT_DESC")
* @param string $SortType1 the sort type("SORT_REGULAR"|"SORT_NUMERIC"|"SORT_STRING")
* @return array sorted array.
*/
function sortArr($ArrayData,$KeyName1,$SortOrder1 = "SORT_ASC",$SortType1 = "SORT_REGULAR")
{
if(!is_array($ArrayData)) return $ArrayData;
// Get args number. // Create the eval string and eval it. 实例:'学习','size' => '1235','type' => 'jpe','time' => '1921-11-13','class' => 'dd',),array( 'name' => '中国功夫','size' => '153','time' => '2005-11-13','class' => 'jj',array( 'name' => '编程','size' => '35','type' => 'gif','time' => '1997-11-13','size' => '65','time' => '1925-02-13','class' => 'yy','size' => '5','type' => 'icon','time' => '1967-12-13','class' => 'rr',);echo ' ';'; 3. 多维数组转一维数组for($i=0; $i<count($arr); $i++){if(is_array($arr[$i])){ rebuild_array($arr[$i]); }else{ $tmp[]=$arr[$i]; } } return $tmp; 实例:// 定义一个三维数组,用来检测我们的函数 echo ' ';'; 4. 从数组中删除空白的元素$value) { if (is_array($value)) { array_remove_empty($arr[$key]); } else { $value = trim($value); if ($value == '') { unset($arr[$key]); } elseif ($trim) { $arr[$key] = $value; } } } }实例:array_remove_empty($a);printr($a); // printr 函数请在本文中找 5. 获取多维数组下特定键下的值,并生成一维数组$testArr = array('111'=> 100,'out'=> 200,'333' => array('out' => 310,array(321,322,'out' => "this is a test")));
printr(getall_by_key($testArr,'out')); 以上就是本文的全部内容,php对于二维数组的相应操作介绍的很详细,希望对大家的学习有所帮助。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
