Var mı bir PHP çok loş dizinin dışında bir dizisini almak için bir şekilde inşa?

4 Cevap php

(Very useful when querying DB).
If I have a multy dim array

 [['id'=>1],['id'=>2],['id'=>34],['id'=>67]]

ve ne istiyorum [1,2,34,67] olduğunu

Ben varsa sadece soruyorum, kodda bunu nasıl biliyorum bunu yapmak için (veya PDO'de olabilir) PHP şekilde inşa.

4 Cevap

çok kolay bir yolu, çok boyutlu bir dizi düzleştirmek için

Bu kod http://php.net/manual/en/function.array-values.php ekstrakt edildi

<?php 
  function array_flatten($array, $flat = false) 
  { 
    if (!is_array($array) || empty($array)) return ''; 
    if (empty($flat)) $flat = array(); 

    foreach ($array as $key => $val) { 
      if (is_array($val)) $flat = array_flatten($val, $flat); 
      else $flat[] = $val; 
    } 

    return $flat; 
  } 

  // will get your flattened array
  print_r( array_flatten( $vals ) );
?>

Belki array_values(array_values($array));

Sadece istediğiniz dizi gelemedi?

$old = array( array( 'id'=>1 ), array( 'id'=>2 ), array( 'id'=>34 ), array( 'id'=>67 ) );
$arr = array();
foreach( $old as $item ) {
    $arr[] = $item['id'];
}

//$arr = [ 1, 2, 34, 67 ];