如何在PHP中拆分数组

如何在PHP中拆分数组,php,arrays,Php,Arrays,我有一个来自以下位置的数组: <?php $biaya=odbc_exec($koneksi,"select * from example"); $no=0; while(odbc_fetch_row($biaya)){ $no++; $sub_title=odbc_result($biaya,"subtitle"); $title=odbc_result($biaya,"title"); } ?> 如果我显示循环,它将如下所示: 我想根据

我有一个来自以下位置的数组:

<?php
$biaya=odbc_exec($koneksi,"select * from example");
  $no=0;
  while(odbc_fetch_row($biaya)){
    $no++;
    $sub_title=odbc_result($biaya,"subtitle");
    $title=odbc_result($biaya,"title");
  }
?>

如果我显示循环,它将如下所示:

我想根据字幕分割数组。我想得到如下数组:


如何解决此问题?

您可以按以下方式执行:-

$result = [];
foreach ($array as $row){
    $result[$row['subtitle']][] = $row;
}
  • 更可取的做法是使用一些PHP适配器,如
    elount
    doctor
    ,而不是运行原始查询
  • 使用
    订购依据

    从“按字幕排序”示例中选择*

  • while
    循环中,请使用以下技巧
  • ```


    ```这是一个解决方案。。你可以看到结果

    我有
    Inventaris
    类别的更新

       <?php
    $array=array(
    array("no"=>"1","subtitle"=>"Perbekalan", "title"=>"lombok ijo"),
    array("no"=>"11","subtitle"=>"Perbekalan", "title"=>"lombok asdf"),
    array("no"=>"2","subtitle"=>"Perbekalan", "title"=>"bawang abang"),
    array("no"=>"3","subtitle"=>"Inventaris", "title"=>"Wajan")
    );
    echo "<pre>";
    //print_r($array);
    $Perbekalan=array();
    $Inventaris=array();
    $i=0;
    foreach ($array as $value) {
        if($value['subtitle']=="Perbekalan")
        {
            $Perbekalan[$i]['no']=$value['no'];
            $Perbekalan[$i]['subtitle']=$value['subtitle'];
            $Perbekalan[$i]['title']=$value['title'];
        }
        if($value['subtitle']=="Inventaris")
        {
            $Inventaris[$i]['no']=$value['no'];
            $Inventaris[$i]['subtitle']=$value['subtitle'];
            $Inventaris[$i]['title']=$value['title'];
        }
        $i++;
    
    }
    echo "per";
    print_r($Perbekalan);
    echo "ins";
    print_r($Inventaris);
    ?>
    
    
    
    与包含两个独立的数组变量相比,这更合适:-
    $array=array(0=>array(array)(array)(no=“1”,subtitle=“Perbekalan”,title=“lombok ijo”)、array(no=“2”,subtitle=“Perbekalan”,title=“bawang abang”)、1=>array(array(array)(no=“3”,subtitle=“Inventaris”,title=“Wajan”)。你不这么认为吗?还有如何创建
    $array
    ?那个代码部分丢失了。所以添加那个数组_片段会很有用\试试这个@AlivetoDie--Anantsingh我会在表中重复这个循环(while)。所以$array只是一个metaphor@satewedos所以你不需要两个不同的变量,只需要根据字幕来改变数组?这不会创建两个不同的变量。正如OP askedt所说,以后会有很多字幕。对不起,我只是举个例子2subtitle@satewedos即使你有两个以上的字幕,这也会起作用。我的数组源是(while)而不是$array。对不起,如果我写了一个模棱两可的问题
       <?php
    $array=array(
    array("no"=>"1","subtitle"=>"Perbekalan", "title"=>"lombok ijo"),
    array("no"=>"11","subtitle"=>"Perbekalan", "title"=>"lombok asdf"),
    array("no"=>"2","subtitle"=>"Perbekalan", "title"=>"bawang abang"),
    array("no"=>"3","subtitle"=>"Inventaris", "title"=>"Wajan")
    );
    echo "<pre>";
    //print_r($array);
    $Perbekalan=array();
    $Inventaris=array();
    $i=0;
    foreach ($array as $value) {
        if($value['subtitle']=="Perbekalan")
        {
            $Perbekalan[$i]['no']=$value['no'];
            $Perbekalan[$i]['subtitle']=$value['subtitle'];
            $Perbekalan[$i]['title']=$value['title'];
        }
        if($value['subtitle']=="Inventaris")
        {
            $Inventaris[$i]['no']=$value['no'];
            $Inventaris[$i]['subtitle']=$value['subtitle'];
            $Inventaris[$i]['title']=$value['title'];
        }
        $i++;
    
    }
    echo "per";
    print_r($Perbekalan);
    echo "ins";
    print_r($Inventaris);
    ?>
    
    <?php
    $items=
    array(
        array('no'=>"1", 'subtitle'=>"Perbekalan", 'title'=>"lombok ijo"),
        array('no'=>"3",'subtitle'=>"Inventaris", 'title'=>"Wajan"),
        array('no'=>"2",'subtitle'=>"Perbekalan", 'title'=>"bawang abang")
    );
    
    foreach($items as $item)
        $output[$item['subtitle']][] = $item;
    
    extract($output);
    
    var_export($Perbekalan);
    echo "\n";
    var_export($Inventaris);
    
    array (
        0 => 
        array (
          'no' => '1',
          'subtitle' => 'Perbekalan',
          'title' => 'lombok ijo',
        ),
        1 => 
        array (
          'no' => '2',
          'subtitle' => 'Perbekalan',
          'title' => 'bawang abang',
        ),
      )
      array (
        0 => 
        array (
          'no' => '3',
          'subtitle' => 'Inventaris',
          'title' => 'Wajan',
        ),
      )