首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在PHP中拆分数组

如何在PHP中拆分数组
EN

Stack Overflow用户
提问于 2017-12-18 07:18:53
回答 4查看 93关注 0票数 1

我有这样一个数组:

代码语言:javascript
运行
复制
<?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");
  }
?>

如果我显示循环,它将是这样的:

我想根据字幕来分割数组。我想得到这样的排列:

我该如何解决这个问题?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-12-18 07:28:58

  1. 更可取的做法是使用一些PHP适配器,如EloquentDoctrine,而不是运行原始查询。
  2. 使用order by。 从示例按字幕顺序选择*
  3. while循环中,请使用以下技巧。
代码语言:javascript
运行
复制
```javascript

$temp =空;

$result = [];

时间(odbc_fetch_row($biaya)){

$no++;

$sub_title=odbc_result($biaya,“字幕”);

$title=odbc_result($biaya,"title");

if($temp != $sub_title) {

代码语言:javascript
运行
复制
  $result[$sub_title] = ["no" => $no, "subtitle" => $sub_title, "title" => $title];
代码语言:javascript
运行
复制
  $temp = $sub_title;

}

否则{

代码语言:javascript
运行
复制
  $result[$sub_title][] = ["no" => $no, "subtitle" => $sub_title, "title" => $title];

}

}

代码语言:javascript
运行
复制
票数 0
EN

Stack Overflow用户

发布于 2017-12-18 07:23:35

你可以这样做:-

代码语言:javascript
运行
复制
$result = [];
foreach ($array as $row){
    $result[$row['subtitle']][] = $row;
}
票数 2
EN

Stack Overflow用户

发布于 2017-12-18 07:31:36

这是解决办法..。您可以看到结果这里(更新)

我已经更新了Inventaris类别

代码语言:javascript
运行
复制
   <?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);
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47863718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档