Reputation: 446
I've this array:
$request = array(
'method' => 'Document.create',
'params' => Array (
'document' => Array ( SOME DATA
),
'thirdaddress' => Array ( SOME DATA
),
'row' => Array (
'1' => Array ( SOME DATA
),
'2' => Array ( SOME DATA
),
'4' => Array ( SOME DATA
),
)
)
);
I want to "inject" this between '2' and '4' keys:
'3' => Array ( SOME DATA
),
I figure to inject the with the same structure like that:
$secondArray = array(
'params'=>Array(
'row'=> Array(
'3' => Array ( SOME DATA
),
)
)
);
I tried this:
1. $request['params']['row']['3']=$secondArray;
2. $request = array_merge($request,$secondArray);
3. $request = array_merge_recursive($request,$secondArray);
ksort don't work too.. My row is stuck as the last place .. i've done a
if(STATEMENT){
//$request = array_merge_recursive($request,$secondArray;
//$request['params']['row']['3']=$secondArray['params']['row']['3'];
$request['params']['row']['3']=$secondArray;
ksort($request);
}
die(dump($request));
Where am I wrong? Thanks.
Upvotes: 0
Views: 73
Reputation: 5473
For simply inserting it, this should work -
$request['params']['row']['3'] = Array(SOME DATA);
//This sorts the "row" keys -
ksort($request['params']['row'], SORT_NUMERIC)
Upvotes: 1
Reputation: 4854
With point 1. you are nearly good, you just need this change.
Instead of:
$secondArray = array(
'params'=>Array(
'row'=> Array(
'3' => Array ( SOME DATA
),
)
)
);
Try this:
$secondArray = array(SOME DATA);
Upvotes: 0
Reputation: 793
<?php
$request = array(
'method' => 'Document.create',
'params' => Array (
'document' => Array ( SOME DATA
),
'thirdaddress' => Array ( SOME DATA
),
'row' => Array (
'1' => Array ( SOME DATA
),
'2' => Array ( SOME DATA
),
'4' => Array ( SOME DATA
),
)
)
);
$secondArray = array(
'params'=>Array(
'row'=> Array(
'3' => Array ('foo' => 'bar'),
)
)
);
$request = array_merge_recursive($request, $secondArray)
Upvotes: 1