tags:

views:

238

answers:

5

I have an array like:

Array ( [id] => 1 [code] => FAC876 )

How do I push it into another array using PHP, such that the result is like:

Array ( [0] => Array ( [id] => 1 [code] => FAC876 ) 
        [1] => Array ( [id] => 2 [code] => GEO980 )
      )
+1  A: 
$arr1 = array(
  'id' => 1,
  'code' => 'FAC876',
);
$arr2 = array(
  $arr1,
  array(
    'id' => 2,
    'code' => 'GEO980',
  ),
);

or

$arr1 = array(
  'id' => 1,
  'code' => 'FAC876',
);
$arr2 = array(
  'id' => 2,
  'code' => 'GEO980',
);
$arr3 = array($arr1, $arr2);

or lots of other ways to achieve that.

cletus
+5  A: 

Simply threat the array as any other variable.

So if this is what you got:

$array  = array();
$array1 = array( "id"=>1, "code"=>"FAC876" );
$array2 = array( "id"=>2, "code"=>"GEO980" );

You could do either

$array[] = $array1;
$array[] = $array2;

or

$array[0] = $array1;
$array[1] = $array2;

or

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

or

array_push($array, $array1);
array_push($array, $array2);

Any of those four possibilites will give you what you want.

André Hoffmann
A: 
$arrays = array();

$array1 = array("id" => 1, "code" => "ABC");
$array2 = array("id" => 2, "code" => "DEF");

array_push($arrays, $array1, $array2);
Doomspork
+1  A: 
$ar=array();
$ar[]=array("no"=>10,"name"=>"abc"); 
$ar[]=array("no"=>20,"name"=>"pqr");
adatapost
+1  A: 

You almost posted the answer yourself:

Array (
    0 => Array ( 'id' => 1, 'code' => 'FAC876' ),
    1 => Array ( 'id' => 2, 'code' => 'GEO980' )
)
soulmerge