Php 数组内多排序
这是我的多重排序代码 但是,我如何为单个列执行此操作 到目前为止,我所做的是 PHP代码:Php 数组内多排序,php,arrays,sorting,Php,Arrays,Sorting,这是我的多重排序代码 但是,我如何为单个列执行此操作 到目前为止,我所做的是 PHP代码: <?php $a1=array("Cat","Alpha","two"); $a1=array("Cat","Beta","two"); $a1=array("Pluto","Beta","two"); $a1=array("Pluto","Alpha","two"); array_multisort($a1[0], SORT_ASC, SORT_STRING, $a1[1], SORT_NUMER
<?php
$a1=array("Cat","Alpha","two");
$a1=array("Cat","Beta","two");
$a1=array("Pluto","Beta","two");
$a1=array("Pluto","Alpha","two");
array_multisort($a1[0], SORT_ASC, SORT_STRING, $a1[1], SORT_NUMERIC, SORT_DESC);
$json[] = $a1;
$final=array("response"=>$a1);
echo json_encode($final);
?>
但是,我想显示
第一列$a1为Asc,第二列$a1为Desc
所以结果应该是
Col A Col B, Col C
Cat, Alpha two
Cat, Beta two
Pluto, Alpha two
Plugo, Beta two
我该怎么做?
<?php
$a1=array("Cat","Alpha","two");
$a1=array("Cat","Beta","two");
$a1=array("Pluto","Beta","two");
$a1=array("Pluto","Alpha","two");
array_multisort($a1[0], SORT_ASC, SORT_STRING, $a1[1], SORT_NUMERIC, SORT_DESC);
$json[] = $a1;
$final=array("response"=>$a1);
echo json_encode($final);
?>
<?php
$a1=array("Dog","zb","Cat");
$a2=array("Pluto","Fido","Missy");
array_multisort($a1,SORT_ASC);
array_multisort($a2,SORT_DESC);
print_r($a1);
print_r($a2);
?>
我想您应该使用它来构建自己的自定义排序算法:
<?php
$array = array(
array("Cat","Alpha","two"),
array("Cat","Beta","two"),
array("Pluto","Beta","two"),
array("Pluto","Alpha","two"),
);
function my_custom_sort($a, $b)
{
// first sort ASC by first column
if ($a[0] == $b[0]) {
// then sort ASC by second column
if ($a[1] == $b[1]) {
return 0;
} else {
return $a[1] < $b[1] ? -1 : 1;
}
} else {
return $a[0] < $b[0] ? -1 : 1;
}
}
usort($array, 'my_custom_sort');
var_dump($array);
制作一个更有用的数组结构,如数组(数组('type'=>'Dog','name'=>'Pluto'),…)
,然后查看。感谢链接,但是在数组中我找不到足够的训练:(我更新了我的问题。你能看一下吗?谢谢,但是数组结果是,Cat,Beta,two,Cat,Alpha,two