簡體   English   中英

從php中的多維數組中刪除父數組

[英]Remove parent array from multidimensional array in php

使用php如何將數組結果導入到下面的方式,

 Array
    (
        [3] => Array
            (
                [15] => 15
                [16] => 16
                [17] => 17
                [18] => 18
                [19] => 19
            )

    )

如何將上面的數組轉換成以下格式,

 Array
        (
            [0] => 15
            [1] => 16
            [2] => 17
            [3] => 18
            [4] => 19
        )

array_values()是你的朋友;

假設你的數組存在於一個名為$array的變量中;

$newArray = array_values($array[3]);

試試這個,如果你有多個子陣列,它會起作用。

$arr = array(3 =>
        array
          ( 
           15  => 15,
           16 => 16,    
           17    => 17,  
           18    => 18,  
           19    => 19
          )
        );
    $new = array();
        foreach ($arr as $v){
            $new = array_merge($new , array_values($v)) ;
        }
echo "<pre>"; print_r($new);

工作演示

沒有測試過,但應該按照您的要求工作。

<?php
$parent array = array(); // The array which you want to change
$result_array = array(); // The array that will hold the results
foreach( $parent_array as $child_array )
{
    if( is_array( $child_array ) )
    {
        foreach( $child_array as $element )
        {
            $result_array[] = $element
        }
    }
}
echo '<pre>';
print_r($result_array);
echo '</pre>';
?>

您應該使用RecursiveArrayIterator刪除父數組

$arr = new RecursiveIteratorIterator(new RecursiveArrayIterator($multidimensional_array));
$new_arr = iterator_to_array($arr, false);

它非常簡單,因為您可以將數組保持變量分配給一個索引的值...

<?php

/* build list */
for($i=15;$i<=19;$i++)
    $b[$i] = $i;
$a[3] = $b;

var_export($a);

/* make array smaller again */
$a = $a[3];

var_export($a);

/* reindexing, just values */
$a = array_values( $a );

var_export($a);

?>

重建索引部分是通過內置函數完成的,也可以在php.net上查看數組的鏈接函數,你可以用它們做大量的簡單操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM