Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将由空数组分隔的数组分组_Php_Arrays - Fatal编程技术网

Php 将由空数组分隔的数组分组

Php 将由空数组分隔的数组分组,php,arrays,Php,Arrays,我有这样一个数组: Array ( [A] => [B] => 700 [C] => 422 [F] => IDR [G] => 5,945,193,025,500.00 [H] => ) Array ( [A] => [B] => 700 [C] => 421 [F] => IDR [G] => [H] =>

我有这样一个数组:

Array
(
    [A] => 
    [B] => 700
    [C] => 422
    [F] => IDR
    [G] =>   5,945,193,025,500.00 
    [H] => 
)
Array
(
    [A] => 
    [B] => 700
    [C] => 421
    [F] => IDR
    [G] => 
    [H] =>   5,945,193,025,500.00 
)
Array
(
    [A] => 
    [B] => 
    [C] => 
    [F] => 
    [G] => 
    [H] => 
)
Array
(
    [A] => 
    [B] => 700
    [C] => 4945
    [F] => IDR
    [G] =>   406,630,911,282.00 
    [H] => 
)
Array
(
    [A] => 
    [B] => 700
    [C] => 228
    [F] => IDR
    [G] => 
    [H] =>   406,630,911,282.00 
)
Array
(
    [A] => 
    [B] => 
    [C] => 
    [F] => 
    [G] => 
    [H] => 
)
我想要这样的结果

Array
(
    [A] => 1
    [B] => 700
    [C] => 422
    [F] => IDR
    [G] =>   5,945,193,025,500.00 
    [H] => 
)
Array
(
    [A] => 1
    [B] => 700
    [C] => 421
    [F] => IDR
    [G] => 
    [H] =>   5,945,193,025,500.00 
)
Array
(
    [A] => 2
    [B] => 700
    [C] => 4945
    [F] => IDR
    [G] =>   406,630,911,282.00 
    [H] => 
)
Array
(
    [A] => 2
    [B] => 700
    [C] => 228
    [F] => IDR
    [G] => 
    [H] =>   406,630,911,282.00 
)
[A]
处添加ID,并用空数组分隔


此数组来自以下代码:

$array = array_chunk($sheetData, 1); 
foreach($array as $chunk) { 
    foreach($chunk as $subarray) { 
        echo "<pre>"; 
        print_r($subarray); 
        echo "</pre>";
     } 
} 
$array=array\u块($sheetData,1);
foreach($chunk形式的数组){
foreach($chunk作为$subarray){
回声“;
<?php

$in =
[
    [
        'a'=> null,
        'b'=> 'foo'
    ],
    [],
    [
        'a'=> null,
        'b'=> 'bar'
    ],
    [
        'a'=> null,
        'b'=> 'baz'
    ],
    [],
    [
        'a'=> null,
        'b'=> 'bat'
    ]    
];

$out     = [];
$counter = 1;
foreach($in as $array) {
    if(empty($array)) {
        $counter++;
    } else {
        $array['a'] = $counter;
        $out[]      = $array;
    }
}

var_export($out);
打印(子阵列); 回声“;
<?php

$in =
[
    [
        'a'=> null,
        'b'=> 'foo'
    ],
    [],
    [
        'a'=> null,
        'b'=> 'bar'
    ],
    [
        'a'=> null,
        'b'=> 'baz'
    ],
    [],
    [
        'a'=> null,
        'b'=> 'bat'
    ]    
];

$out     = [];
$counter = 1;
foreach($in as $array) {
    if(empty($array)) {
        $counter++;
    } else {
        $array['a'] = $counter;
        $out[]      = $array;
    }
}

var_export($out);
} }
PHP代码在哪里?此数组来自此代码:$array=array\u chunk($sheetData,1);foreach($chunk作为数组){foreach($chunk作为$subarray){echo”“;print_r($subarray);echo”“;}}}}Thx,但我想要的是$counter是相同的数字而不是循环计数,它的计数只有单独的空数组*很抱歉,如果您尝试代码,您将看到计数器仅在遇到空数组元素时递增,而不是在每个循环上递增。检查上面的输入和输出。
<?php

$in =
[
    [
        'a'=> null,
        'b'=> 'foo'
    ],
    [],
    [
        'a'=> null,
        'b'=> 'bar'
    ],
    [
        'a'=> null,
        'b'=> 'baz'
    ],
    [],
    [
        'a'=> null,
        'b'=> 'bat'
    ]    
];

$out     = [];
$counter = 1;
foreach($in as $array) {
    if(empty($array)) {
        $counter++;
    } else {
        $array['a'] = $counter;
        $out[]      = $array;
    }
}

var_export($out);