获取索引的数组需要单个键

时间:2016-08-09 04:42:13

标签: php arrays codeigniter

  

我有一个数组,它被索引,然后存储值,每次$ aba更改时,它将值存储在arrray $ abc []的新索引中    我想要的是在一个维度上获得一个数组而不是嵌套     我的数组

array (size=3)
   0 => //get rid of this
       array (size=3)
      0 => 
        object(stdClass)[29]
        public 'id' => string '11' (length=2)
        public 'fname' => string 'Tester 1' (length=8)
      1 => 
        object(stdClass)[30]
        public 'id' => string '11' (length=2)
        public 'fname' => string 'Tester 2' (length=8)
  1 => //get rid of this
     array (size=1)
       0 => 
         object(stdClass)[32]
           public 'id' => string '11' (length=2)
        public 'fname' => string 'Tester 3' (length=8)

我的代码

$ aba = explode('/ - ',$ this-> session-> userdata('area')); //抓取会话数据

for($i=1;$i<count($aba);$i++)

  {
          echo $aba[$i];
        $abc[]=$this->db->where('area', $aba[$i])->get('student')->result();

     }  

 var_dump($abc);
  

我想让数组像这样

 0 => 
            object(stdClass)[29]
            public 'id' => string '11' (length=2)
            public 'fname' => string 'Tester 1' (length=8)
 1 => 
            object(stdClass)[30]
            public 'id' => string '11' (length=2)
            public 'fname' => string 'Tester 2' (length=8)
  2 => 
                object(stdClass)[30]
                public 'id' => string '11' (length=2)
                public 'fname' => string 'Tester 3' (length=8)

2 个答案:

答案 0 :(得分:1)

使用array_merge()

$newArr = array();
for($i=1;$i<count($aba);$i++)

  {
      $abc = $this->db->where('area', $aba[$i])->get('student')->result();
      // merge new values into the array instead of adding new keys
      $newArr = array_merge($newArr, $abc)
 }  

 var_dump($newArr); //this should be required array

答案 1 :(得分:1)

因为我认为它是在每个键上分配一个数组,因为你的查询返回一个数组。如果你想要一个阵列,那么你可以使用 -

$result = $this->db->where('area', $aba[$i])->get('student')->result();
$abc = array_merge($abc, $result);

它将为您提供单个阵列。