[英]PHP array_chunk - split based on variable
是否可以基于数组中的值进行array_chunk
?
排列
Array (
[4f5hfgb] => Array (
[0] => ACME
[1] => 4f5hfgb
[2] => Aberdeen
)
[sdf4ws] => Array (
[0] => ACME
[1] => sdf4ws
[2] => Birmingham
)
[dfgdfg54] => Array (
[0] => EDNON
[1] => dfgdfg54
[2] => Birmingham
)
[345bfg] => Array (
[0] => EDNON
[1] => 345bfg
[2] => Birmingham
)
[345fgfd] => Array (
[0] => VALVE
[1] => 345fgfd
[2] => Birmingham
)
)
是否可以对[0]
具有相同值的那些块进行分块?
所需的输出
Array (
[4f5hfgb] => Array (
[0] => ACME
[1] => 4f5hfgb
[2] => Aberdeen
)
[sdf4ws] => Array (
[0] => ACME
[1] => sdf4ws
[2] => Birmingham
)
)
Array (
[dfgdfg54] => Array (
[0] => EDNON
[1] => dfgdfg54
[2] => Birmingham
)
[345bfg] => Array (
[0] => EDNON
[1] => 345bfg
[2] => Birmingham
)
)
Array (
[345fgfd] => Array (
[0] => VALVE
[1] => 345fgfd
[2] => Birmingham
)
)
如果我理解您的问题,您正在尝试将键0
具有相同值的所有元素分组到同一数组中。 您无法使用array_chunk
做到这一点,但是下面的循环会生成分组数组
$result = array();
foreach($arr as $k => $v) {
$result[$v[0]][$k] = $v;
}
print_r($result);
尝试这个:
$values = array_unique(array_map(
function ($v) { return $v[0]; },
$array
));
$result = array();
foreach ($values as $val) {
$result[] = array_filter($array, function ($v) use ($val) {
return $v[0] == $val;
});
}
不, array_chunk
根据大小将数组拆分为多个块。 您可以考虑循环进入数组并将其分块为所需的结构。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.