VishwaKumar
VishwaKumar

Reputation: 3433

PHP: Concatinating two array values

I have two arrays:

array(1,2,3,4,5)
array(10,9,8,7,6)

Final array Needed:

array(0=>1:10,1=>2:9,2=>3:8,3=>4:7,4=>5:6)

I can write a custom function which would be quieck enough!! But i wanted to use a existing one so Is there already any function that does this in php? Pass the two input arrays and get the final array result? I read through the array functions but couldn't find any or combination of function that would provide me the result

Upvotes: 0

Views: 80

Answers (5)

Baba
Baba

Reputation: 95161

No built in function but really there is nothing wrong with loop .. Just keep it simple

$c = array();
for($i = 0; $i < count($a); $i ++) {
    $c[] = sprintf("%d:%d", $a[$i], $b[$i]);
}

or use array_map

$c = array_map(function ($a,$b) {
    return sprintf("%d:%d", $a,$b);
}, $a, $b);

Live Demo

Upvotes: 4

Prasanth Bendra
Prasanth Bendra

Reputation: 32840

Try this :

$arr1   = array(1,2,3,4,5);
$arr2   = array(10,9,8,7,6);

$res    = array_map(null,$arr1,$arr2);
$result = array_map('implode', array_fill(0, count($res), ':'), $res);

echo "<pre>";
print_r($result);

output:

Array
(
    [0] => 1:10
    [1] => 2:9
    [2] => 3:8
    [3] => 4:7
    [4] => 5:6
)

Upvotes: 1

JimL
JimL

Reputation: 2541

Use array_combine

array_combine($array1, $array2)

http://www.php.net/manual/en/function.array-combine.php

Upvotes: 0

Srikanth Kolli
Srikanth Kolli

Reputation: 912

<?php
  $arr1=array(1,2,3,4,5);
  $arr2=array(10,9,8,7,6);
  for($i=0;$i<count($arr1);$i++){
    $newarr[]=$arr1[$i].":".$arr2[$i];
 }
 print_r($newarr);
?>

Upvotes: 0

Dillen Meijboom
Dillen Meijboom

Reputation: 964

See: http://php.net/functions

And especially: https://www.php.net/manual/en/function.array-combine.php

Also, I don't quite understand the final array result? Do you mean this:

array (1 = 10, 2 = 9, 3 = 8, 4 = 7, 5 = 6)

Because in that case you'll have to write a custom function which loops through the both arrays and combine item[x] from array 1 with item[x] from array 2.

Upvotes: 0

Related Questions