Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Łącznie wartości dwóch tablic
Forum PHP.pl > Forum > Przedszkole
fate
Witajcie, zwracam się z pomocą gdyż nie potrafię skleić ze sobą dwóch tablic o tych samych rozmiarach. Wartości w nich to "string" druga tablica to strlen w kolejnosci.
Próbowałem combine przypisanie gdyż nie koniecznie to musi być tak rozwiązane jak w temacie ale narazie nie widzę innego sposobu, niestety KOMBAJN skracał mi tablice,domyśliłem się że w przypadku zdublowanych wartości (zdarzaja sie w obydwu tablicach) , no i musialem kombinowac inaczej, ale nie widze rozwiazania nadal stąd moje lamenty na forum. brzydal.gif

  1. // block vertical destroyer
  2. $nl = explode('<br />',$_POST['tresc']);
  3. $tmnl = array_map("mb_strlen",$nl);
  4. function addbr($br){return $br.'<br />';}
  5. $nl = array_map("addbr",$nl);
  6.  
  7. //$tmnlvk = array_combine($nl,$tmnl);
  8. $tmnlvk = array_merge($tmnl,$nl); //ostatni moj pomysl - ZŁY
  9.  
  10. foreach($tmnlvk as $linijka)
  11. {$dlugosc = substr($linijka,0,2); if(is_numeric($dlugosc)){if($dlugosc <= 16){str_ireplace('<br />',' ',$linijka,$czyrobi); echo $czyrobi.'<br />';}}}
  12. //{if ($dlugosc <= 16){strtr($linijka,'<br />',' ');}}
  13.  
  14. $_POST['tresc']=implode($tmnlvk);

W kodziku mam nadzieje widac ocb JEŻELI linijka jest krótsza niż 16 znaków i na końcu ma <br /> (dlatego linijka) to <br /> zamień na spację.
Dodam, że kod stosuję w miescu w którym $_POST pozbawiony jest wielokrotnych <br /> znaczników \r\n jak i multispacji.
Może ktoś ma inny patent jak wykonać ten warunek, kiedyś już rzuciłem ten temat ale mało konkretnie i bez większego echa się obszedł. medieval.gif

+ czeka na Ciebie, ja czekam na Twoją pomoc graduated.gif
ghost1511
Nie potrafię ocenić, ani po opisie, ani po uruchomieniu kodu co próbujesz osiągnąć. Możesz dać przykładową tablicę, aktualnie otrzymywany wynik i ten którego oczekujesz na końcu ?

I dlaczego chcesz połączyć tablicę z długościami, jeżeli później wyciągasz ją substr() mimo, że tablica znajduje się ciągle w pamięci i można z niej korzystać?
fate
dzieki za zainteresowanie
  1. //tablica $nl
  2. array(5)
  3. { [0]=> string(1) "a"
  4. [1]=> string(1) "a"
  5. [2]=> string(2) "AA"
  6. [3]=> string(6) "bsbdsd"
  7. [4]=> string(33) "gahshgakjdghakjdhajkshakjshakjsh." }
  8.  
  9. //tablica $tmnl
  10. array(5)
  11. { [0]=> int(1) [1]=> int(1) [2]=> int(2) [3]=> int(6) [4]=> int(33) }
  12.  
  13. //tablica po merge obecna zła
  14. array(9)
  15. { ["A
  16. "]=> int(7) ["a
  17. "]=> int(7) ["aa
  18. "]=> int(8) ["bsbdsd
  19. "]=> int(12) ["gahshgakjdghakjdhajkshakjshakjsh.
  20. "]=> int(39) [7]=> string(7) "a
  21. " [8]=> string(8) "aa
  22. " [12]=> string(12) "bsbdsd
  23. " [39]=> string(39) "gahshgakjdghakjdhajkshakjshakjsh.
  24. " }
  25. //chce osiagnac
  26. array(5)
  27. { [0]=> string(2) "1a"
  28. [1]=> string(2) "1a"
  29. [2]=> string(3) "2AA"
  30. [3]=> string(7) "6bsbdsd"
  31. [4]=> string(35) "33gahshgakjdghakjdhajkshakjshakjsh." }
  32.  


To co chce osiagnac warunek wytluscilem i moze właśnie idę w złym kierunku dlatego chętnię posłucham alternatywnych propozycji.

Chcę dodać te elementy po to by móc wykonać na nich sprawdzenie IF w pętli foreach dla każdego elementu tablicy,
Nir próbowałem ikrementować numeracji z tablicy $tmnl w pętli foreach gdyż wydaje mi się że dla każdej linijki wykona się od początku i tylko raz, ale jestem uczniakiem
Damonsson
To co chcesz osiągnąć, można zrobić tak:

  1. function array_merge_values()
  2. {
  3. $args = func_get_args();
  4.  
  5. $result = $args[0];
  6. for ($_ = 1; $_ < count($args); $_++)
  7. foreach ($args[$_] as $key => $value)
  8. {
  9. if (array_key_exists($key,$result))
  10. $result[$key] = $value.$result[$key];
  11. }
  12. return $result;
  13. }


  1. $a = array("a", "a" ,"AA","bsbdsd" ,"gahshgakjdghakjdhajkshakjshakjsh.");
  2.  
  3. $b = array('1','1','2','6','33');
  4.  
  5. print_r(array_merge_values($a,$b));



A z pierwszego postu nic nie rozumiem.
fate
dzięki już nie po raz pierwszy, o to chodziło, działa.
Szkoda tylko,że niezbyt rozumiem ten kod ale poczytam poducze sie.
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.