如何操作php数组

如何操作php数组,php,Php,如何操作php数组。下面有一个$data变量 $data = Array ( [0] => Array ( [id] => 1 [capacity] => 900 [category] => users ) [1] => Array ( [id] => 2 [capacity] => 300 [category] => us

如何操作php数组。下面有一个$data变量

$data = Array
(
 [0] => Array
    (
        [id] => 1
        [capacity] => 900
        [category] => users
    )

 [1] => Array
    (
        [id] => 2
        [capacity] => 300
        [category] => users
    )
 [2] => Array
    (
        [id] => 3
        [capacity] => 900
        [category] => students
    )
 [3] => Array
    (
        [id] => 4
        [capacity] => 300
        [category] => students
    )
)
现在,我想将数据分组为相同的类别,如下所示。我对php不是很熟悉。有人能帮我实现这一目标吗。我应该使用什么函数。谢谢

Array
(
[users] => Array
    (
        [0] => Array
            (
              [id] => 1
              [capacity] => 900
              [category] => users
            )

        [1] => Array
            (
              [id] => 2
              [capacity] => 300
              [category] => users
            )
    ),
[students] => Array
    (
        [0] => Array
            (
              [id] => 1
              [capacity] => 900
              [category] => students
            )

        [1] => Array
            (
              [id] => 2
              [capacity] => 300
              [category] => students
            )
    )
)

只需迭代数组并根据
类别
字段的内容将其添加到新数组中:

$new = array();
foreach ($data as $val) {
    $new[$val['category']][] = $val;
}

这符合你的要求

<?php

$data = array(
    0 => array (
        "id" => 1,
        "capacity" => 900,
        "category" => "users"
    ),
    1 => array (
        "id" => 2,
        "capacity" => 300,
        "category" => "users"
    ),
    2 => array (
        "id" => 3,
        "capacity" => 900,
        "category" => "students"
    ),
    3 => array (
        "id" => 4,
        "capacity" => 300,
        "category" => "students"
    )
);

$groups = array();

foreach ($data as $i) {
  if ($i['category'] === "students") {
    $groups['students'][] = $i;
  }
  else if ($i['category'] === "users") {
    $groups['users'][] = $i;
  }
}

echo "<pre>", print_r($groups), "</pre>";

foreach($array形式的数据){$output[$array['category']][=$array;}print\r($output)应该可以做到这一点。最好使用而不是输出数组,因为人们可以在代码示例中重用输出。