Guest User

Untitled

a guest
Mar 19th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. Array1
  2. (
  3. [0] => 2010-06-14
  4. [1] => 2010-06-14
  5. [2] => 2010-06-14
  6. [3] => 2014-01-26
  7. [4] => 2014-01-26
  8. )
  9. Array2
  10. (
  11. [0] => 120
  12. [1] => 100
  13. [2] => 60
  14. [3] => 140
  15. [4] => 30
  16. )
  17.  
  18. $date = 2010-06-14;
  19. $value = 280;
  20.  
  21. $date = 2014-01-26;
  22. $value = 170;
  23.  
  24. foreach ($values as $key => $value) {
  25. $result[$dates[$key]] = $value + ($result[$dates[$key]] ?? 0);
  26. }
  27.  
  28. array (size=2)
  29. '2010-06-14' => int 280
  30. '2014-01-26' => int 170
  31.  
  32. $sum=0; // New Element
  33. $Array3[][]=0; // New 2D array
  34.  
  35. $p=0; // Counter for 2D array
  36. for($i=0;$i<5;$i++) // Single loop for traversing
  37. {
  38. $date=Array1[$i]; // Start for a date
  39. while($date==Array1[$i]){ // For for Similar date
  40. $sum=$sum+Array2[$i]; // Adding values of similar date
  41. $i++; // Increment array
  42. }
  43. $Array3[$p]["date"]=$date; // Array3 date element
  44. $Array3[$p]["sum"]=$sum; // Array4 date element
  45. $i--; // Reducing a value which is incremented in while loop
  46. }
  47.  
  48. Array3
  49. (
  50. [0] => array( 'date' => " ",'sum' => " ")
  51. [1] => array( 'date' => " ",'sum' => " ")
  52. )
  53.  
  54. private function forLoopVersion($array1, $array2, $target) {
  55. $result = 0;
  56. for ($i = 0; $i < count($array1); ++$i) {
  57. if ($array1[$i] == $target) {
  58. $result += $array2[$i];
  59. }
  60. }
  61. return $result;
  62. }
  63.  
  64. private function foreachLoopVersion($array1, $array2, $target) {
  65. $result = 0;
  66. foreach ($array1 as $key => $value) {
  67. if ($value == $target) {
  68. $result += $array2[$key];
  69. }
  70. }
  71. return $result;
  72. }
  73.  
  74. $newArray = array();
  75. for($i = 0; $i < count(Array1); $i++) {
  76. $newArray[$Array1[$i]] = $Array2[$i];
  77. }
  78.  
  79. echo $newArray[$date1] + $newArray[$date2];
Add Comment
Please, Sign In to add comment