Assume a master array which is already sorted in ASCENDING order:
$values = array('value1', 'value2', 'value3', 'value4', 'value5', 'value6');
And another array with the keys(indexes) being ordered per some specific requirement.
$keys = array(0, 2, 1, 5);
Required Logic: should create an array say $output
- beginning with elements of
$values
who's indexes are stored$keys
preserving the order of indexes. - remaining elements of
$values
shall be appended in the rear in ascending order.
e.g. 1
$values = array('value1', 'value2', 'value3', 'value4', 'value5', 'value6');
$keys = array(0, 2, 1, 5);
$output = array('value1', 'value3', 'value2', 'value6', 'value4', 'value5');
e.g. 2
$values = array('value1', 'value2', 'value3', 'value4', 'value5', 'value6');
$keys = array(5);
$output = array('value6', 'value1', 'value2', 'value3', 'value4', 'value5');
e.g. 3
$values = array('value1', 'value2', 'value3', 'value4', 'value5', 'value6');
$keys is empty, no keys(indexes).
$output = array('value1', 'value2', 'value3', 'value4', 'value5', 'value6');
I've $values
and $keys
arrays. I just need to figure out how to create $output
array. I'm pretty sure there will need to be a foreach
loop on the $values
array for this to work.
I'm running into a wall here trying to figure this thing out...