Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] powiększanie tablicy wielowymiarowej o il elementów z tablicy jednowymiarowej
Forum PHP.pl > Forum > Przedszkole
czaro123
Witam,
kod poniżej:
  1. $days = Array
  2. (
  3. 0 => Array
  4. (
  5. 0 => 1,
  6. 1 => 8,
  7. 2 => 15,
  8. 3 => 22,
  9. 4 => 29,
  10. ),
  11.  
  12. 1 => Array
  13. (
  14. 0 => 2,
  15. 1 => 9,
  16. 2 => 16,
  17. 3 => 23,
  18. 4 => 30,
  19. ),
  20.  
  21. 2 => Array
  22. (
  23. 0 => 3,
  24. 1 => 10,
  25. 2 => 17,
  26. 3 => 24,
  27. 4 => 31,
  28. ),
  29.  
  30. 3 => Array
  31. (
  32. 0 => 6,
  33. 1 => 13,
  34. 2 => 20,
  35. 3 => 27,
  36. ),
  37.  
  38. 4 => Array
  39. (
  40. 0 => 7,
  41. 1 => 14,
  42. 2 => 21,
  43. 3 => 28,
  44. )
  45.  
  46. );
  47.  
  48. $lol = array(3,5,6,7,8);
  49.  
  50. foreach($days as $val){
  51. for($i=0; $i< count($lol); $i++){
  52. $sun[] = array_pad($val, count($val)+7, $lol[$i]);
  53. }}



mam tablicę wielowymiarową $days, chciałbym ilość elemenów w każdej z pod-tablic w $days zwiększyć o 7, ale wartość jaka ma być wyświetla powinna być wzięta z $lol. tzn dla przykładu pod tablica [0] w $sun powinna wyglądać następująco: 1,8,15,22,29,3,3,3,3,3,3,3. czyli zerowy argumet z $lol wzięty 7 razy. męczę się już z tym jakiś czas ale nie mogę wpaść na razwiązanie (pętla foreach powyżej). prośba o wskazanie błędu. z góry dziękuję za pomoc.
trueblue
Tak wygląda $sun[0], w wyniku działania Twojego programu:
  1. [0] =>Array
  2. (
  3. [0] => 1
  4. [1] => 8
  5. [2] => 15
  6. [3] => 22
  7. [4] => 29
  8. [5] => 3
  9. [6] => 3
  10. [7] => 3
  11. [8] => 3
  12. [9] => 3
  13. [10] => 3
  14. [11] => 3
  15. )

co więc jest nie tak?

czaro123
a powinno wyglądać tak:
  1. (
  2. [0] => Array
  3. (
  4. [0] => 1
  5. [1] => 8
  6. [2] => 15
  7. [3] => 22
  8. [4] => 29
  9. [5] => 3
  10. [6] => 3
  11. [7] => 3
  12. [8] => 3
  13. [9] => 3
  14. [10] => 3
  15. [11] => 3
  16. )
  17. [1] => Array
  18. (
  19. [0] => 2
  20. [1] => 9
  21. [2] => 16
  22. [3] => 23
  23. [4] => 30
  24. [5] => 5
  25. [6] => 5
  26. [7] => 5
  27. [8] => 5
  28. [9] => 5
  29. [10] => 5
  30. [11] => 5
  31. [2] => Array
  32. (
  33. [0] => 3
  34. [1] => 10
  35. [2] => 17
  36. [3] => 24
  37. [4] => 31
  38. [5] => 6
  39. [6] => 6
  40. [7] => 6
  41. [8] => 6
  42. [9] => 6
  43. [10] => 6
  44. [11] => 6
  45. )
  46. [3] => Array
  47. (
  48. [0] => 6
  49. [1] => 13
  50. [2] => 20
  51. [3] => 27
  52. [4] => 7
  53. [5] => 7
  54. [6] => 7
  55. [7] => 7
  56. [8] => 7
  57. [9] => 7
  58. [10] => 7
  59. )
  60. [4] => Array
  61. (
  62. [0] => 7
  63. [1] => 14
  64. [2] => 21
  65. [3] => 28
  66. [4] => 8
  67. [5] => 8
  68. [6] => 8
  69. [7] => 8
  70. [8] => 8
  71. [9] => 8
  72. [10] => 8
  73. )

czyli: z $days biorę podtablicę i uzupełniam ją 7 razy o odpowiedni element z $lol. jak to zrobić?
trueblue
  1. $lol = array(3,5,6,7,8);
  2. $i=0;
  3. foreach($days as $val){
  4. $sun[] = array_pad($val, count($val)+7, $lol[$i++]);
  5. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.