配列内の既存のデータを置き換えるのではなく、要求に渡したいデータが配列の最初の値に置き換えられます。誰かが私がここで間違っていることを教えてもらえますか?Laravel Array_Replace_Recursiveを使用すると最初の値のみが置換されます
private function validParams($overrides = [])
{
return array_replace_recursive([
// More fields,
'posts' => [
1 => [
'field1' => ...,
'field2' => [],
'field3' => [],
'field4' => [],
'users' => [1, 2],
'field6' => ...,
]
],
], $overrides);
}
$this->validParams([
'posts' => [
1 => [
'users' => [99],
]
],
]));
前のコードを実行すると、これになります。
"users" => array:2 [
0 => 99
1 => 2
]
代わりに、必要なもの。
"users" => array:1 [
0 => 99
]
'$ this-> validParams()'の与えられた置換データから '[] 'を削除すると、配列が作成され、他のキーはそのまま残ります。あなたは99だけを設定したいので、それを使って配列を作成せずにそれを行います; – natheriel
これについての回答を作成することができますので、もっと何を意味するのでしょうか? – user3732216
'array_replace_recursive'は明らかに必要なものではありません。 –