2017-01-07 9 views
1

に多次元配列を変換し、私の関数である。PHPの文字列以下

public function getChildrenId(){ 
    $child_id = array($this->db->query("SELECT customer_id 
           FROM " . DB_PREFIX . "customer 
           WHERE parent IN (" .(int)$this->customer->getId().") ")); 
    foreach($child_id as $id =>$value) { 
     $conv = json_decode(json_encode($value), true); 
     $final = array_slice($conv,2); 
     foreach ($final as $gchildren => $key) { 
      sort($key); 
      $gr = array_slice($key,0,$this->INF); 
     } 
    } 
    return $gr; 
} 

それは出力:

array (size=3) 
 
    0 => 
 
    array (size=1) 
 
     'customer_id' => string '2' (length=1) 
 
    1 => 
 
    array (size=1) 
 
     'customer_id' => string '4' (length=1) 
 
    2 => 
 
    array (size=1) 
 
     'customer_id' => string '7' (length=1)

私はネストされた配列の値を取得しようとしています。 foreachを使用すると、配列[0]からのデータしか得られません。私も親の配列をスライスしようとしたが、まだそれを得られなかった、それはarray,array,arrayを出力します。

データベースを照会するために使用できる新しい配列にこれらの配列値を抽出したいと思います。 final_array = array (2,4,7)。 ありがとうございます!

答えて

2

あなたの配列がこのように見える場合、foreachは探している配列を作成する必要があります。

array (size=3) 
    0 => 
    array (size=1) 
     'customer_id' => string '2' (length=1) 
    1 => 
    array (size=1) 
     'customer_id' => string '4' (length=1) 
    2 => 
    array (size=1) 
     'customer_id' => string '7' (length=1) 

次のPHPは、出力array(2,4,7);

<?php 

$aNewArray = array(); 

foreach($aArray as $aArray){ 

    $aNewArray[] = $aArray['customer_id']; 

} 

var_dump($aNewArray); 

?> 

あなたはしかし、このための多次元配列を必要といけないでしょう。

関連する問題