I have the following array defined.
$a = Array
(
[0] => 30:27
[1] => 29:28
[2] => 30:27
)
$b = Array
(
[0] => 102186
[3] => 102991
[4] => 102241
)
I have used array_map($a,$b);
But not what i want the result comes.
Always first to first key, second to second key, third to third key, I expect the following result...
$ab = $b = Array
(
[0] => 102186 [30:27]
[1] => 102991 [29:28]
[2] => 102241 [30:27]
)
Just loop over the 1st array and add the corresponding value from the 2nd one. You can actually use array_map
for this:
$ab = array_map(function($aVal, $bVal){
return "$bVal [$aVal]";
}, $a, $b);
DEMO: https://eval.in/78684
USE:
$arrayFirst and $arraySecond - your input arrays;
$result = array();
for ($i=0; $i < count($arrayFirst); $i++) {
$result[] = "{$arraySecond[$i]} [{$arrayFirst[$i]}]";
}
var_dump ($result);
$array = array_merge_recursive($array1, $array2);
If the array keys doesn't match (thought it was a typo), then just reset the arrays by using $a = array_values($a)
and $b = array_values($b)
like this:
$a = array(
0 => "30:27",
1 => "29:28",
2 => "30:27"
);
$b = array(
0 => "102186",
3 => "102991",
4 => "102241"
);
// Reset keys
$a = array_values($a);
$b = array_values($b);
$ab = array();
for ($i=0; $i < count($a); $i++) {
$ab[] = "{$b[$i]} [{$a[$i]}]";
}
echo "<pre>";
print_r($ab);
echo "</pre>";
Outputs:
Array
(
[0] => 102186 [30:27]
[1] => 102991 [29:28]
[2] => 102241 [30:27]
)