以关联方式映射数组

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);

Or array_merge_recursive()

$array = array_merge_recursive($array1, $array2);

Edit:

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]
)