PHP/Data Structure/array merge

Материал из Web эксперт
Версия от 10:02, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Appending One Array to Another

   <source lang="html4strict">

<?php

 function array_display($array, $pre=FALSE){
   $tag = $pre ? "pre" : "p";
   printf("<%s>%s</%s>\n", $tag, var_export($array, TRUE), $tag);
 }
 $arr1 = array(1, 2, 3);
 $arr2 = array(10, 20, 30);
 $arr3 = array(5, 10, 15, 20);
 
 $comb1 = array_merge($arr1, $arr2);
 $comb2 = array_merge($arr2, $arr1);
 $comb3 = array_merge($arr3, $arr2, $arr1);
 
 array_display($comb1);
 array_display($comb2);
 array_display($comb3);

?> <?php

 $arr4 = array(10 => "a", 11 => "b", 12 => "c");
 
 array_display(array_merge($arr1, $arr4), TRUE);
 array_display($arr1 + $arr4, TRUE);

?> <?php

 $arr5 = array(1 => "x", 2 => "y", 3 => "z");
 
 array_display(array_merge($arr1, $arr5), TRUE);
 array_display($arr1 + $arr5, TRUE);

?> <?php

 $dogs1 = array( "L" => "C", "B" => "S","R" => "A");
 $dogs2 = array("R" => "D", "T" => "S");
 array_display(array_merge($dogs1, $dogs2), TRUE);
 array_display($dogs1 + $dogs2, TRUE);

?>

 </source>
   
  


array_merge

   <source lang="html4strict">

<?php $face = array("J","Q","K","A"); $numbered = array("2","3","4","5","6","7","8","9"); $cards = array_merge($face, $numbered); shuffle($cards); print_r($cards); ?>

 </source>
   
  


array_merge() and + operator

   <source lang="html4strict">

<?php

   function array_display($array, $pre=FALSE) { 
       $tag = $pre ? "pre" : "p"; 
       printf("<%s>%s</%s>\n", $tag, var_export($array, TRUE), $tag); 
   } 
   $arr4 = array(10 => "a", 11 => "b", 12 => "c"); 
   $arr1 = array(1, 2, 3); 
   
   array_display(array_merge($arr1, $arr4), TRUE); 
   array_display($arr1 + $arr4, TRUE); 

?>

 </source>
   
  


array_merge() example

   <source lang="html4strict">

<? $array1 = array ("color" => "red", 2, 4); $array2 = array ("a", "b", "color" => "green", "shape" => "trapezoid"); array_merge ($array1, $array2); ?>

 </source>
   
  


array_merge( ) function combines two or more arrays by renumbering numerical indexes and overwriting string indexes

   <source lang="html4strict">

array array_merge ( array arr1 [, array arr2 [, array ...]] ) <?

   $toppings1 = array("Pepperoni", "Cheese", "Anchovies", "Tomatoes");
   $toppings2 = array("Ham", "Cheese", "Peppers");
   $both_toppings = array_merge($toppings1, $toppings2);
   var_dump($both_toppings);

?>

 </source>
   
  


array_merge() function merges 1 to N arrays together

   <source lang="html4strict">

The function"s syntax is: array array_merge (array array1, array array2, . . ., array arrayN) <?

   $arr_1 = array ("s", "g", "l");
   $arr_2 = array ("b", "c", "l");
   $arr_3 = array ("p", "o");
   
   $arr_4 = array_merge ($arr_2, $arr_1, $arr_3);
   print_r($arr_4);

?>

 </source>
   
  


array_merge( ) retains array keys when possible.

   <source lang="html4strict">

<?

   $arr1 = array("Paul"=>25, "I"=>38, "Nick"=>27);
   $arr2 = array("I"=>27, "Paul"=>38);
   print "Merge:\n";
   var_dump(array_merge($arr1, $arr2));

?>

 </source>
   
  


obtaining the union of two arrays

   <source lang="html4strict">

<?php

   function array_display($array, $pre=FALSE) { 
       $tag = $pre ? "pre" : "p"; 
       printf("<%s>%s</%s>\n", $tag, var_export($array, TRUE), $tag); 
   } 
   $arr5 = array(1 => "x", 2 => "y", 3 => "z"); 
   $arr1 = array(1 => "x", 2 => "y", 3 => "z"); 
   
   array_display(array_merge($arr1, $arr5), TRUE); 
   array_display($arr1 + $arr5, TRUE); 

?>

 </source>
   
  


Using array_merge() and the + operator with associative arrays as well

   <source lang="html4strict">

<?php

   function array_display($array, $pre=FALSE) { 
       $tag = $pre ? "pre" : "p"; 
       printf("<%s>%s</%s>\n", $tag, var_export($array, TRUE), $tag); 
   } 
   $dogs1 = array("A" => "C", "B" => "C", "D" => "C"); 
   $dogs2 = array("a" => "a", "b" => "b"); 
  
  array_display(array_merge($dogs1, $dogs2), TRUE); 
  array_display($dogs1 + $dogs2, TRUE); 

?>

 </source>