2012-07-16 151 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