gpt4 book ai didi

php - 如何组合多维数组的值和键?

转载 作者:可可西里 更新时间:2023-10-31 22:44:55 25 4
gpt4 key购买 nike

我有以下数组

array (
1 =>
array (
't' =>
array (
0 => 't1',
1 => 't2',
2 => 't3',
),
'c' =>
array (
0 => 'c1',
1 => 'c2',
2 => 'c3',
),
'd' =>
array (
0 => 'd1',
1 => 'd2',
2 => 'd3',
),
),
2 =>
array (
'j' =>
array (
0 => 'j1',
1 => 'j2',
2 => 'j3',
),
'm' =>
array (
0 => 'm1',
1 => 'm2',
2 => 'm3',
),
'n' =>
array (
0 => 'n1',
1 => 'n2',
2 => 'n3',
),
),
)

我需要的输出是

array(
1=>array(
't-j'=>array('t1-j1','t2-j2','t3-j3'),
'c-m'=>array('c1-m1','c2-m2','c3-m3'),
'd-n'=>array('d1-n1','d2-n2','d3-n3')
)
);

我所做的就是

$i = 0;
$res = [];
foreach($arr[1] as $key => $value){
foreach($arr[2] as $k => $v){
$res[$key.'-'.$k][] = $value[$i].'-'.$v[$i];
}
$i++;
}

但这给了我这样的东西?

Array
(
[t-j] => Array
(
[0] => t1-j1
)

[t-m] => Array
(
[0] => t1-m1
)

[t-n] => Array
(
[0] => t1-n1
)

[c-j] => Array
(
[0] => c2-j2
)

[c-m] => Array
(
[0] => c2-m2
)

[c-n] => Array
(
[0] => c2-n2
)

[d-j] => Array
(
[0] => d3-j3
)

[d-m] => Array
(
[0] => d3-m3
)

[d-n] => Array
(
[0] => d3-n3
)

)

所以我在这里搜索了很多链接,并且至少尝试了大部分我可以做到的事情。但我无法充分利用它

最佳答案

这对我有用:

$array1 = $arr[1];
$array2 = $arr[2];

$result = combineArray($array1, $array2);

var_dump($result);

function combineArray($array1, $array2)
{
$res = [];

foreach ($array1 as $key => $value)
{
$otherArray = array_splice($array2, 0, 1 );
$otherKey = array_keys($otherArray)[0];

$smallerResult = array();
foreach ($value as $smallerKey => $smallerValue)
{
$smallerResult[] = $smallerValue . '-' . $otherArray[$otherKey][$smallerKey];
}
$res[$key . '-' . $otherKey] = $smallerResult;
}

return $res;
}

我得到的输出如下:

array(3) {
't-j' =>
array(3) {
[0] =>
string(5) "t1-j1"
[1] =>
string(5) "t2-j2"
[2] =>
string(5) "t3-j3"
}
'c-m' =>
array(3) {
[0] =>
string(5) "c1-m1"
[1] =>
string(5) "c2-m2"
[2] =>
string(5) "c3-m3"
}
'd-n' =>
array(3) {
[0] =>
string(5) "d1-n1"
[1] =>
string(5) "d2-n2"
[2] =>
string(5) "d3-n3"
}
}

关于php - 如何组合多维数组的值和键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31870269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com