代码之家  ›  专栏  ›  技术社区  ›  Jim

帮助构建多维数组

php
  •  1
  • Jim  · 技术社区  · 16 年前

    我想知道如何将这些值放入这个数组中。有人能帮忙吗?

    每个框(无论是“入”框还是“发件箱”)只应列出一次,然后与它们关联多个ID。我需要知道哪个身份证来自哪个盒子。数组中的ID只是示例。

    $arr = 
    array(
           'Inbox'=> array('id' => array(8, 9, 15)),
           'Outbox'=> array('id' => array(8, 9, 15))
        );
    

    谢谢


    $inbox = $db->Query("SELECT * FROM mail_inbox");
    $outbox = $db->Query("SELECT * FROM mail_outbox");
    
    
    foreach($inbox as $key => $array)
    {
      $output['Inbox']]['id'][] = $array['msg_seq'];
    }
    foreach($outbox as $key => $array)
    {
      $output['Outbox']]['id'][] = $array['msg_seq'];
    }
    
    print_r($output);
    

    这将给我收件箱中的db字段,但我不知道如何在那里得到发件箱。我还得到了未定义的[‘box’]索引

    1 回复  |  直到 16 年前
        1
  •  4
  •   Tyler Carter    16 年前

    现在我知道你在说什么了,要输入东西,可以这样做,将它输入到数组中:

    $ID = 9;
    $box = "Inbox";
    $arr[$box]['id'][] = $ID;
    

    $IDs = array(9,5,13);
    $box = "Inbox";
    
    $array = array($box => $IDs);
    

    或者从数据库中获取

    $dbarray[0] = array('ID' => 9,
                     'Box' => 'Outbox');
    
    foreach($dbarray as $key => $array)
    {
        $output[$array['Box']]['ids'][] = $array['ID'];
    }
    

    多分区阵列

    键或索引是第一个括号

    $array[key]="foo" 
    

    是一样的

    $array = array('key' => 'foo');
    

    如果有第二个括号,则该括号位于数组的值部分内。工业工程

    $array['key']['key2']=“条”;

    是一样的

    $array=array('key'=>array('key2'=>'bar'));

    基本上,多尺度阵列只是阵列内部的阵列。


    foreach($arr as $box => $array)
    {
       echo $box;
       // $box = The Box
        foreach($array['ids'] as $ID)
       {
          echo $ID . ",";
          // $ID = The ID 
       }
       echo "<br>";
    }
    

    Sample:

    Outbox 9,13,15,
    Inbox 9,13,15,
    

    这将遍历每个框,回送框名称和框中的每个ID,并回送ID。

    只访问一个框

    foreach($arr['Inbox'] as $ID)
    {
        echo $ID . ",";
    }
    

    样品输出:

    9,13,15,
    
    推荐文章