Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将输出的数组分组_Php_Sorting - Fatal编程技术网

Php 如何将输出的数组分组

Php 如何将输出的数组分组,php,sorting,Php,Sorting,我输出的数组列表显示了这一点; 我想让它有点像: Imran Omer Imran Omer sumair sumair sumair sumair sumair wrewr wrewr wrewr wrewr wrewr 我怎么能这样分类呢 这是我正在使用的代码 if (!in_array($a['sid'],$leave_sids)) { $struck_off_list_bit .= '

我输出的数组列表显示了这一点;

我想让它有点像:

Imran Omer
Imran Omer
sumair
sumair
sumair
sumair
sumair
wrewr
wrewr
wrewr
wrewr
wrewr
我怎么能这样分类呢

这是我正在使用的代码

if (!in_array($a['sid'],$leave_sids))
                {
                    $struck_off_list_bit .= '
                        <tr>
                            <td>'.$a['sid'].'</td>
                            <td><a href="school_id.php?action=preview_id_card&sid='.$a['sid'].'">'.$a['student_name'].'</a></td>
                            <td>'.$date.'</td>
                            <td>'.$student_class.'</td>
                            <td style="background: #'.$bg_color.'">'.$leave_submitted.'</td>
                        </tr>
                    ';
                }
if(!in_U数组($a['sid'],$left\u sids))
{
$stricked_off_list_bit.='
“.$a['sid']”
“.$日期。”
“.$student_class”
“.$leave_已提交。”
';
}

似乎您正在寻找
usort()

首先定义一个函数,例如

function sortByStudent($a, $b) {
    return $a['student_name'] - $b['student_name'];
}
然后,在
$a
数组中调用它:

usort($a, 'sortByStudent');

似乎您正在寻找
usort()

首先定义一个函数,例如

function sortByStudent($a, $b) {
    return $a['student_name'] - $b['student_name'];
}
然后,在
$a
数组中调用它:

usort($a, 'sortByStudent');

您需要使用array\u multisort()函数,您的代码应该如下所示:

<?php
$students = array(
    array('sid' => '38', 'student_name' => 'wrewr'),
    array('sid' => '2', 'student_name' => 'Imran Omer'),
    array('sid' => '36', 'student_name' => 'sumair'),
    array('sid' => '2', 'student_name' => 'Imran Omer'),
    array('sid' => '36', 'student_name' => 'sumair'),
    array('sid' => '38', 'student_name' => 'wrewr'),
    array('sid' => '36', 'student_name' => 'sumair'),
);
$new_array = array();
foreach ($students as $key => $row) {
    $new_array[$key] = $row['student_name'];
}
array_multisort($new_array, SORT_ASC, $students);

print_r($students);
?>

您需要使用array\u multisort()函数,您的代码应该如下所示:

<?php
$students = array(
    array('sid' => '38', 'student_name' => 'wrewr'),
    array('sid' => '2', 'student_name' => 'Imran Omer'),
    array('sid' => '36', 'student_name' => 'sumair'),
    array('sid' => '2', 'student_name' => 'Imran Omer'),
    array('sid' => '36', 'student_name' => 'sumair'),
    array('sid' => '38', 'student_name' => 'wrewr'),
    array('sid' => '36', 'student_name' => 'sumair'),
);
$new_array = array();
foreach ($students as $key => $row) {
    $new_array[$key] = $row['student_name'];
}
array_multisort($new_array, SORT_ASC, $students);

print_r($students);
?>

您可以在查询中使用
GROUP BY
子句。它将自动对所有结果进行分组

您可以在查询中使用
group BY
子句。它将自动将所有结果分组

另一个选项

function array_sort($arr, $key, $type = 'asc')
{
    $keys = $new_array = array();
    foreach ($arr as $k => $v) {
        $keys[$k] = $v[$key];
    }

    if ($type == 'asc') {
        asort($keys);
    } else {
        arsort($keys);
    }

    reset($keys);

    foreach ($keys as $k => $v) {
        $new_array[$k] = $arr[$k];
    }
    return $new_array;
}
用法
array\u sort($a,'student\u name')
另一个选项

function array_sort($arr, $key, $type = 'asc')
{
    $keys = $new_array = array();
    foreach ($arr as $k => $v) {
        $keys[$k] = $v[$key];
    }

    if ($type == 'asc') {
        asort($keys);
    } else {
        arsort($keys);
    }

    reset($keys);

    foreach ($keys as $k => $v) {
        $new_array[$k] = $arr[$k];
    }
    return $new_array;
}

用法
array\u sort($a,'student\u name')

非常感谢。非常感谢你的帮助:)非常感谢。非常感谢你的帮助:)非常感谢。非常感谢你的帮助:)非常感谢。非常感谢您的帮助:)抱歉,我没有使用sql查询分组。无论如何,感谢您的帮助抱歉,我没有使用sql查询分组。不管怎样,谢谢你的帮助。非常感谢。非常感谢你的帮助:)非常感谢。非常感谢您的帮助:)