2012-07-16 150 views
0

這是從輸入字段的數組如下PHP除以陣列通過空值

Array(
    [0] => 
    [1] => 737 
    [2] => 736 
    [3] => 735 
    [4] => 
    [5] => 748 
    [7] => 744 
    [8] => 747 
    [9] => 746 
    [10] => 
    [11] => 748 
    [12] => 747 
    [13] => 746 
    [14] => 745 
    [15] => 744 
); 

有一種通過空值來劃分它併除去如下面的空值:

Array(
    [0] => Array(
     [0] => 737 
     [1] => 736 
     [2] => 735 
    ) 
    [1] => Array(
     [0] => 748 
     [1] => 744 
     [2] => 747 
     [3] => 746 
    ) 
    [2] => Array(
     [0] => 748 
     [1] => 747 
     [2] => 746 
     [3] => 745 
     [4] => 744 
    ) 
) 
+1

什麼是「空值」 「?? – swapnesh 2012-07-16 05:38:23

+0

@swapnesh沒有值 – zourbuth 2012-07-16 05:40:13

+0

你是什麼意思「沒有價值劃分?」 – 2012-07-16 05:43:06

回答

1

如果要將數組拆分爲以「null」值作爲分隔符的子數組,那麼應該這樣做:

$newArray = array(); 
$subArray = null; 
for ($i = 0; $i < count($array); $i++) { 
    if (!$subArray) $subArray = array(); 

    $v = $array[$i]; 
    if ($v) { 
     array_push($subArray, $v); 
    } else { 
     if (count($subArray) > 0) array_push($newArray, $subArray); 
     $subArray = null; 
    } 
} 

if ($subArray) array_push($newArray, $subArray); 
+0

謝謝@Laurent,它完美的作品。我寫了錯誤的數組索引,樣本中沒有索引6,假設它從0到14。 – zourbuth 2012-07-16 06:02:22