2016-08-09 6 views
0

私はインデックスを取得しているし、値を格納しているし、$ aba変更するたびに値を新しいarrrayのインデックスに格納している$ abc [] 。単一次元が入れ子になっgetingないで配列を取得する
マイアレイ配列のインデックスが取得されている単一のキー

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) 
+0

**私のforループでは$ abc []のために索引付けされていますが、値を置き換え続けるので$ abcを使用するだけです** –

答えて

1

のようになりたいですキーはクエリが配列を返すためです。単一の配列が必要な場合は、-

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

のような配列を使用できます。

+0

@jitendrapurohit答えは彼が配列を定義したときに少し明確です..しかし私もあなたの投稿をアップしました:) –

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 
関連する問題