特定の条件が満たされている場合、その配列を別の配列にプッシュする前に配列要素を配列に追加しようとします。今は別の配列として値を追加し、同じ配列にはありません。マルチディメンション配列にエントリを追加する
<?php
for ($i = 0; $i < 4; $i++) {
$ret1[] = array("A" . $i, "B" . $i);
if ($i > 2) {
$ret1[] = array("C" . $i);
}
}
print_r($ret1);
?>
現在の結果:
Array
(
[0] => Array
(
[0] => A0
[1] => B0
)
[1] => Array
(
[0] => A1
[1] => B1
)
[2] => Array
(
[0] => A2
[1] => B2
)
[3] => Array
(
[0] => A3
[1] => B3
)
[4] => Array ( [0] => C3 )
)
期待される結果は:
Array
(
[0] => Array
(
[0] => A0
[1] => B0
)
[1] => Array
(
[0] => A1
[1] => B1
)
[2] => Array
(
[0] => A2
[1] => B2
)
[3] => Array
(
[0] => A3
[1] => B3
[2] => C3
)
)
if/elseステートメントを作成し、条件が満たされた場合は配列内に3つの値をすべて追加します。 '$ ret1 [] = array(a、b、c)'そして、配列としてaとbを追加するだけです。 – Rizier123
あなたの事例では何が効果がありませんか? –
[array_push](http://php.net/manual/en/function.array-push。最初の引数が単一次元配列であると予想されることを覚えておいてください。2番目のレベルの配列に追加する場合は、 'array_push($ ret1 [INDEX]、VALUE)'が必要です。 –