I have tree arrays in php as shown in the code
<?php
//old array
$oldArray = array(0 => 11, 1 => 18, 2 => 29, 3 => 35, 4 => 40);
// held values
$hold = array( 1 => 18, 3 => 35);
// new random generated array
$newValues = array( 0 => 27, 1 => 31, 2 => 38);
//I need keep keys (order, index) of $hold values
newArrayMergedPushed = array(0 => 27, 1 => 18, 2 => 31, 3 => 35, 4 => 38);
?>
I need keep order of $hold array in same order,index like in $oldArray. What function can I use in php so that the following output is obtained without changing key values?
If I'm guessing what you want to do correctly, it's probably better to operate directly on the array you want to change rather than creating a range first and then trying to mix them back in.
Hold only the indexes that you want to keep in a lookup table, then loop over the table and replace any key=>values that aren't held.
$oldArray = array(0 => 11, 1 => 18, 2 => 29, 3 => 35, 4 => 40);
$hold = array( 1 => true, 3 => true);
for( $i = 0; $i < count($oldArray); $i ++ ) {
if( !isset( $hold[$i] ) ) {
$oldArray[$i] = mt_rand(0,100); // or whatever you do to generate random numbers
}
}
That way you won't have to do any merging at all.