Php将多维数组转换为字符串

时间:2017-01-07 18:55:21

标签: php sql arrays multidimensional-array

以下是我的功能:

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)。 提前谢谢!

1 个答案:

答案 0 :(得分: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);

?>

虽然你不需要多维数组。