【问题标题】:How to add an array in array dynamic php?如何在数组动态php中添加一个数组?
【发布时间】:2016-06-29 06:35:06
【问题描述】:

我想在克里特岛做这样的事情

Array
 (
    [0] => Array
      (
        [id] => 1
        [name] => open
        [task] => Array
                 (
                 [0] => Array
                 (
                     [id] => 2
                     [project_id] => 1
                     [name] => task 2 from pro1
                     [card] => 1
                 )
                 )
      )

)

有了这个

Araay - 1 :-

Array
 (
    [0] => Array
      (
        [id] => 1
        [name] => open
    )

 )

数组 - 2 :-

Array
(
[0] => Array
    (
        [id] => 2
        [project_id] => 1
        [name] => task 2 from pro1
        [card] => 1
    )
)

现在,假设 array-1 是卡片数组,array-2 是任务数组,现在有多个卡片和任务。我需要在它所属的卡上设置一个任务,这就是为什么我在两个数组中都有一个卡 ID。如果 card 数组的 id 为 1 并且 task 也有 [card] => 1,那么它就在那个数组中。

帮助表示感谢和感谢。

这里是代码:

$get_card_qry = "select * from tts_card where project_id = '1' ";
$get_card_res = $conn -> query($get_card_qry);


$cad = $task = array();
while($row = $get_card_res -> fetch_assoc())
{
    array_push($cad, $row);
    $get_task_qry = "select * from tts_task where card = '".$row['id']."' ";
    $get_task_res = $conn -> query($get_task_qry);
    while($row1 = $get_task_res -> fetch_assoc())
    {
        array_push($task , $row1);
    }
}

【问题讨论】:

  • [] 表示法。请从 php.net 手册开始。
  • 也展示你的代码工作。
  • 一张卡可以有多个任务吗?
  • 是的,一张卡有多个任务@RomanPerekhrest

标签: php arrays


【解决方案1】:

使用常规foreach 循环的简单解决方案:

$cards = [0 => ['id' => 1, 'name' => 'open']];
$tasks = [  // add one more item/task for complex case
    0 => ['id' => 2, 'project_id' => 1,  'name' => 'task 2 from pro1', 'card' => 1],
    1 => ['id' => 3, 'project_id' => 2,  'name' => 'task 3 from pro1', 'card' => 1]
];

foreach ($cards as &$card) {
    foreach ($tasks as $task) {
        if ($task['card'] === $card['id']) $card['task'][] = $task;
    }
}

print_r($cards);

输出:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => open
            [task] => Array
                (
                    [0] => Array
                        (
                            [id] => 2
                            [project_id] => 1
                            [name] => task 2 from pro1
                            [card] => 1
                        )

                    [1] => Array
                        (
                            [id] => 3
                            [project_id] => 2
                            [name] => task 3 from pro1
                            [card] => 1
                        )
                )
        )
)

【讨论】:

  • 谢谢兄弟,很有帮助。
猜你喜欢
  • 1970-01-01
  • 2021-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-02
  • 2012-03-24
  • 1970-01-01
  • 2015-11-16
相关资源
最近更新 更多