Guest User

Untitled

a guest
Aug 29th, 2013
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. $array1 = array(a,b,c,d);
  2. $array2 = array(e,f,g,h);
  3. $array3 = array(i,j,k,l);
  4.  
  5. array(a,e,i,b,f,j,c,g,k,d,h,l);
  6.  
  7. $array1 = array(a,b,c,d,x,u,xx);
  8. $array2 = array(e,f,g,h,s,d,t);
  9. $array3 = array(i,j,k,l);
  10.  
  11. $array1 = array('a', 'b', 'c', 'd');
  12. $array2 = array('e', 'f', 'g', 'h');
  13. $array3 = array('i', 'j', 'k', 'l');
  14.  
  15. $composite = array($array1, $array2, $array3);
  16. $count = count($array1);
  17. $result = array();
  18. for ($i = 0; $i < $count; $i++) {
  19. $result = array_merge($result, array_column($composite, $i));
  20. }
  21. var_dump($result);
  22.  
  23. $array1 = array('a','b','c','d');
  24. $array2 = array('e','f','g','h');
  25. $array3 = array('i','j','k','l');
  26.  
  27. $composite = array($array1, $array2, $array3);
  28. // transpose
  29. array_unshift($composite, null);
  30. $tmpResult = call_user_func_array('array_map', $composite);
  31. // flatten
  32. $result = call_user_func_array('array_merge', $tmpResult);
  33. var_dump($result);
  34.  
  35. $array1 = array('a','b','c','d','x','u','xx');
  36. $array2 = array('e','f','g','h','s','d','t');
  37. $array3 = array('i','j','k','l');
  38.  
  39. $composite = array($array1, $array2, $array3);
  40. // transpose
  41. array_unshift($composite, null);
  42. $tmpResult = call_user_func_array('array_map', $composite);
  43. // filter and flatten
  44. $result = array_filter(
  45. call_user_func_array('array_merge', $tmpResult),
  46. function ($value) {
  47. return $value !== NULL;
  48. }
  49. );
  50. var_dump($result);
  51.  
  52. $result = array();
  53. $count = count($array1);
  54. for ($i = 0; $i < $count; $i++)
  55. {
  56. $result[] = $array1[$i];
  57. $result[] = $array2[$i];
  58. $result[] = $array3[$i];
  59. }
  60. var_export($result);
  61.  
  62. ----------------------------------
  63.  
  64. $result = array();
  65. $count = max(count($array1), count($array2), count($array3));
  66. for ($i = 0; $i < $count; $i++)
  67. {
  68. isset($array1[$i]) && $result[] = $array1[$i];
  69. isset($array2[$i]) && $result[] = $array2[$i];
  70. isset($array3[$i]) && $result[] = $array3[$i];
  71. }
  72. var_export($result);
  73.  
  74. $sorted array = sort(array_merge( (array) $array1, (array) $array2 , (array) $array3)
  75.  
  76. array_interlace($array1, $array2, $array3)
  77.  
  78. function array_interlace() {
  79. $args = func_get_args();
  80. $total = count($args);
  81.  
  82. if($total < 2) {
  83. return FALSE;
  84. }
  85.  
  86. $i = 0;
  87. $j = 0;
  88. $arr = array();
  89.  
  90. foreach($args as $arg) {
  91. foreach($arg as $v) {
  92. $arr[$j] = $v;
  93. $j += $total;
  94. }
  95.  
  96. $i++;
  97. $j = $i;
  98. }
  99.  
  100. ksort($arr);
  101. return array_values($arr);
  102. }
  103.  
  104. Array ( [0] => a [1] => e [2] => i [3] => b [4] => f [5] => j [6] => c [7] => g [8] => k [9] => d [10] => h [11] => l [12] => x [13] => s [14] => u [15] => d [16] => xx [17] => t )
Advertisement
Add Comment
Please, Sign In to add comment