PHP/MySQL : Recreate multidimensional array from existing array

标签 php mysql arrays

我有一个多数组(当前包含对象),我想根据特定的键/值重新排序。

Array
(
[0] => stdClass Object
    (
        [task_id] => 1
        [task_title] => Title
        [users_username] => John
    )
[1] => stdClass Object
    (
        [task_id] => 2
        [task_title] => Title
        [users_username] => John
    )
[2] => stdClass Object
    (
        [task_id] => 3
        [task_title] => Title
        [users_username] => Mike
    )
)

我想重新排序以按用户名获取多个数组,这样我就可以按用户名循环执行任务。

Array
(
    [John] => Array
        (
            [0] => Array
                (
                    [task_id] => 1
                    [title] => Title
                )

            [1] => Array
                (
                    [task_id] => 2
                    [title] => Title
                )

        )

    [Mike] => Array
        (
            [0] => Array
                (
                    [task_id] => 3
                    [title] => Title
                )

        )

)

是否可以将我的数组重新创建为如上所述的数组?

最佳答案

代码的更新版本

<?php
$it0 = (object) array('task_id' => 1,'task_title' => 'Title','users_username' => 'John');
$it1 = (object) array('task_id' => 2,'task_title' => 'Title','users_username' => 'John');
$it2 = (object) array('task_id' => 3,'task_title' => 'Title','users_username' => 'Mike');

$array = array($it0,$it1,$it2);

$return = array();
foreach($array as $id => $value){
  $return[$value->users_username][] = array('task_id' => $value->task_id,'title' => $value->task_title);
}

var_dump($return);

关于PHP/MySQL : Recreate multidimensional array from existing array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8772626/

相关文章:

php - 我想插入来自其他表的 id 但我的查询有问题

php - 满足条件时 if 语句不执行(条件 : two variable are NULL)

php - 用自适应支付取代 paypal express

mysql - View Controller 不在 View 层次结构中?

javascript - 选择数组中的两个最大值

php - 在php中,我取消了一个对象的属性,但是反序列化之后,属性又回来了,为什么?

java - 带有 In 子句正则表达式的 Mysql 查询

mysql - 从逗号分隔列中获取名称并从另一个逗号分隔列中查找其值

python - 如何将字符串拆分、匹配并输出特定的模式?

c++ - 创建尺寸可变的二维数组