php教程多维数组排序与操作函数
function arraycd($arr){
static $res_arr=array();
if(is_array($arr))
{
foreach($arr as $key=>$val)
{
if(is_array($val))
{
arraycd($val);
}else{
$res_arr[]=$val;
}
}
}elseif(is_string($arr))
{
$res_arr[]=$arr;
}
return implode(",",$res_arr);
}
$fruits = array (
"fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);
$strayy=arraycd($fruits);
var_dump($strayy);
看一个多维数组排序
Zend框架2是一个开源框架,使用PHP 5.3 +开发web应用程序和服务。Zend框架2使用100%面向对象代码和利用大多数PHP 5.3的新特性,即名称空间、延迟静态绑定,lambda函数和闭包。 Zend框架2的组成结构是独一无二的;每个组件被设计与其他部件数的依赖关系。 ZF2遵循SOLID面向对象的设计原则。 这样的松耦合结构可以让开发人员使用他们想要的任何部件。我们称之为“松耦合”
344
function sortdata($data, $col, $order){
if (count($data)) $temp_array[key($data)] = array_shift($data);
foreach($data as $key => $val){
$offset = 0;
$found = false;
foreach($temp_array as $tmp_key => $tmp_val){
if(!$found and strtolower($val[$col]) >
strtolower($tmp_val[$col])){
$temp_array = array_merge((array)
array_slice($temp_array,0,$offset),
array($key => $val),
array_slice($temp_array,$offset)
);
$found = true;
}
$offset++;
}
if(!$found) {
$temp_array = array_merge($temp_array, array
($key => $val));
}
}
if (strtolower($order)=="asc"){
$array = array_reverse($temp_array);
} else {
$array = $temp_array;
}
return $array;
}
主函数
$data=array(
array(
'name'=>'alice',
'key'=>'2fc4ab3d639e5400efdfc73bc27e83f1',
'age'=>20
),
array(
'name'=>'claudia',
'key'=>'831c2b79c1f19af39c7e3321e11e5f5e',
'age'=>18
),
array(
'name'=>'beatrice',
'key'=>'6f8512a2066b8f35a27a495ce1228c76',
'age'=>100
),
array(
'name'=>'denise',
'age'=>25,
'key'=>'ef6de3b178bf9f69a9fef72e4ee7bbe9'
)
);
$arr1 = sortdata($data, "name","asc");
echo "
";<br /> var_dump($arr1);<br /> echo "
$arr2 = sortdata($data, "age","desc");
echo "
";<br /> var_dump($arr2);<br /> echo "
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号