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);