0 レビュー
4 回答
PHPの配列を動的に組み合わせる方法は?
このようなコードがあります
$a =[
[1,2],
[4,6],
[10,24]
];
このような出力が必要です
Array
(
[0] => 1
[1] => 2
[2] => 4
[3] => 6
[4] => 10
[5] => 24
)
そして私はこのようなコードを使用します
print_r(array_merge($a[0],$a[1],$a[2]));
このようなコードがあり、より多くのデータがある場合
Array
(
[0] => Array
(
[0] => 1
[1] => 2
)
[1] => Array
(
[0] => 4
[1] => 6
)
[2] => Array
(
[0] => 10
[1] => 24
)
.
.
.
[60] => Array
[0] => 67
[1] => 8
)
このように書くのは良くありません
print_r(array_merge($a[0],$a[1],$a[2],...,...,...,$a[58]));
そこでダイナミクスでarray_merge
を使用する方法は?
わからない
0
レビュー
答え :
解決策:
試してみてください:
function my_array_merge($array1, $array2) {
foreach ($array2 as $key => $val) {
if (is_array($val)) {
$array1[$key] = my_array_merge($array1[$key], $array2[$key]);
} else {
if (is_numeric($key)) {
$array1[] = $array2[$key];
} else {
$array1[$key] = $array2[$key];
}
}
}
return $array1;
}
私の知る限り、上記は array_merge()
とまったく同じように機能しますが、その中の配列をマージします:
$arr1 = array(array("a"));
$arr2 = array(array("b"));
は次のようになります:
Array (
[0] => Array (
[0] => a
[1] => b
)
)
わからない
0
レビュー
答え :
解決策:
uはこれを使用できます:
$a =[
7,
[1,2],
[4,6],
[10,24],
[[30,40],[2,9]]
];
function mrg($array){
$out = [];
foreach($array as $b){
if(is_array($b))
$out = array_merge($out, mrg($b));
else
$out[] = $b;
}
return $out;
}
print_r(mrg($a));
わからない
0
レビュー
答え :
解決策:
$result = array_reduce($a, fn($carry, $item) => array_merge($carry, $item), []);
わからない
0
レビュー
答え :
解決策:
次の機能を使用できます。
function func($array) {
$result = array();
foreach ($array as $key => $value) {
if (is_array($value)) {
$result = array_merge($result, func($value));
}
else {
$result[$key] = $value;
}
}
return $result;
}
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。