Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zbędny znak na początku stringa
Forum PHP.pl > Forum > Przedszkole
MESSIAH :)
Mam tablice a w niej wartości które zaczynają się od jakiejś cyfry która jest mi potrzebna tylko na chwilę czyli taki bufor. Więc chciałbym usunąć ową liczbę z początku zaraz po jej dodaniu przez funkcję. Oto przykład:
  1. if ($Wszystko=1) {
  2. $Piekarnie['chleby'][] = funkcja_dodająca_cyfry() . funkcja_tworząca_string() ;
  3.  
  4. } elseif ($Wszystko=2) {
  5. $Piekarnie['bułki'][] = funkcja_dodająca_cyfry() . funkcja_tworząca_string();
  6.  
  7. }
  8.  

Więc gdy utworzę tabele to struktura jest mniej więcej taka:
Array(
[chleby] => Array(
[0] => 0pieczywo
[1] => 2pieczywo
[2] => 4pieczywo
[3] => 1pieczywo
)
[bułki] => Array(
[0] => 0pieczywo
[1] => 4pieczywo
[2] => 10pieczywo
[3] => 8pieczywo
)
)

Chciałbym teraz w jak najprostszy sposób pozbyć się każdej cyfry "int" z początku wartości. Jak najlepiej tego dokonać? Podmienić tablicę z nową zawartością (większe zużycie pamięci) czy też jakaś pętla dla podmiany? A może funkcja strpos()? Potem ta tablica trafia RegexIterator więc można również zastosować tutaj RecursveRegexIterator::REPLACE. Który sposób będzie najefektywniejszy?
com
to poco ją dodajesz żeby zaraz usuwać, zaprojektuj to tak żeby nie trzeba było nic usuwać wink.gif
MESSIAH :)
Jesteś geniuszem. Czemu ja na to od razu nie wpadłem. php.pl jedyna strona gdzie za odpowiedź trzeba płacić albo prosić wielkich "guru". No trudno będę sam dalej kombinował.

Proszę zmień nazwę z "com" na "cum" będzie więcej mówiła o twoim sposobie pomocy innym.
markuz
@MESSIAH smile.gif Nikt nie chce tutaj Ci zrobic krzywdy smile.gif Opisz swoj problem ale od podstaw. Pierwszy raz widze taka "potrzebe" operacji na tablicy ktora byc moze da sie zrobic w bardziej optymalny, rozsadny sposob.
com
z tego co wynikało z przykładu liczba ma oznaczać ile tych artykułów ma być wiec wyciągnij do drugiej tablicy to i zrób relacje miedzy nimi, a nie startujesz do mnie.
Tomplus
@MES

substr i pamiętaj że jako pierwszy parametr podać 1 żeby zaczęło od 2 znaku w stringu.
Pyton_000
@MESSIAH jesteś bezczelny. Kolega powiedział Ci co masz zrobić. To że Ty robisz po swojemu i masz pretensje do całego świata że Ci nikt nie chce pomóc mówiąc że coś jest bez sensu i można coś zrobić lepiej, szybciej, optymalniej.
Upierasz się w swoim małym świecie pisząc bzdury wierutne.

Com dał Ci odpowiedź.

@Tomplus, to nie zadziała. Bo ma tam np. 10...

ltrim('10string', '0987654321');
redeemer
@MESSIAH co jest złego w tym co zaproponował @com?
  1. ..
  2. $Piekarnie['chleby'][] = ['cyfra'=>funkcja_dodająca_cyfry(), 'wartosc'=>funkcja_tworząca_string()];
  3. ...
Ale nie, lepiej to łączyć, aby zaraz to rozbić.

I te wycieczki personalne, eh...
nospor
@mes 3 raporty odnosnie Twojej wypowiedzi... Coz ja biedny moge w takiej sytuacji....

Swoja droga panowie, skoro Wam sie nie podobala zagrywka kolesia, to po grzyba mu dalej pomagacie?
Tomplus
@Pyton_000
Racja, nie zauważyłem tej 10.

W ogóle, stawianie liczb w celu identyfikacji w stringa, aby potem je usuwać jest bez sensu.
Ale jeżeli już tak trzeba to wystarczyło dać tą liczbę z jakimś separatorem np. spacja. Chociaż i to też nie jest rozwiązanie.

@Mes
po co ci te liczby? Jeżeli się dopiero uczysz, to naprawdę... weź manual PHP i przetestuj sobie wszystkie funkcje jakie tam są. Będziesz orientował że jest więcej funkcji.
KsaR
Cytat(MESSIAH :) @ 19.10.2015, 23:11:48 ) *
Jesteś geniuszem. Czemu ja na to od razu nie wpadłem. php.pl jedyna strona gdzie za odpowiedź trzeba płacić albo prosić wielkich "guru". No trudno będę sam dalej kombinował.

Proszę zmień nazwę z "com" na "cum" będzie więcej mówiła o twoim sposobie pomocy innym.

Jak masz problemy z podstawiami to czemu piszesz w PHP zamiast Przedszkole

@redeemer - podal najlepszy przyklad. Uzyjesz tablicy to sie odwolasz odrazu do konkretnej wartosci ;)

@MESSIAH smile.gif, masz blad w ifie (logiczny, nie skladniowy).
Bo jak masz problem z podstawami to zakaldam ze chciales uzyc,
== (porównania) zamiast = (przypisania)
I już samo to zajmuje jakąś pamięć ale ok...
MESSIAH :)
Cytat(Tomplus @ 20.10.2015, 10:51:16 ) *
@Pyton_000
Racja, nie zauważyłem tej 10.

W ogóle, stawianie liczb w celu identyfikacji w stringa, aby potem je usuwać jest bez sensu.
Ale jeżeli już tak trzeba to wystarczyło dać tą liczbę z jakimś separatorem np. spacja. Chociaż i to też nie jest rozwiązanie.

@Mes
po co ci te liczby? Jeżeli się dopiero uczysz, to naprawdę... weź manual PHP i przetestuj sobie wszystkie funkcje jakie tam są. Będziesz orientował że jest więcej funkcji.

Niestety ta cyfra która została dodana do początku stringa jest bardzo ważna dla jednej funkcji która z kolei wykona jakąś operację na tej tablicy po zakończeniu operacji liczba ta jest zbędna i musi zostać usunięta. Liczba ta jest generowana losowo i jest mniej więcej z zakresu 0-9 czasem może wystąpić 10 ale to mało prawdopodobne. Już kombinowałem z substr(). Mam też możliwość zrobienia tego poprzez RecursveRegexIterator::REPLACE. Ja się was pytam jaki sposób jest najlepszy. Widzę że większość z was nie czyta poprzednich wiadomości.
Antonios
Buahahahahahahaha co za poziom tego forum. Gość się pyta o to z jakiej opcji ma skorzystać aby pozbawić stringa jakiegoś znakua i aby znowu to było tablicą.
@redeemer twój przykład jest na poziomie zerówki gdyż to co napisałeś tworzy tablice multidimensional:
  1. [chleby] => Array(
  2. [0] =>Array(
  3. [0] 0pieczywo
  4. )
  5. [1] => Array(
  6. [0] 2pieczywo
  7. )
  8. [2] => Array(
  9. [0] 4pieczywo
  10. )
  11. [3] => Array(
  12. [0] 0pieczywo
  13. )
  14. )
  15. [bułki] => Array(
  16. [0] => Array(
  17. [0] 0pieczywo
  18. )
  19. [1] => Array(
  20. [0] 4pieczywo
  21. )
  22. [2] => Array(
  23. [0] 10pieczywo
  24. )
  25. [3] => Array(
  26. [0] 8pieczywo
  27. )
  28. )
  29. )

I w jaki sposób ma to pomóc w usunięciu stringa? Lepiej już stworzyć temp array którego się poczęstuje substr lub ltrim('10string', '0987654321'); i zapisze do poprawnej tablicy. Mimo wszystko jaest kilka wyjść z tej sytuacji ale tak jak autor tematu pyta jaką ma opcję wybrać aby było najoptymalniej. Wnioskuję po waszych wypowiedziach iż o PHP nie macie bladego pojęcia a czytanie ze zrozumieniem to już wysoki poziom jak dla was. Ten serwis sięga dna gdyż siedzą tutaj dzieci i gimnazjaliści którzy nie wiedzą jak pomagać - ba jedynie 80% odpowiedzi brzmi "sprawdź manual". Takie cwaniaczki jak wy na http://stackoverflow.com/questions/tagged/php momentalnie by zbanowali i zmiusowali dlatego tam siedzą ludzie z głową na karku. Prosze porównać obydwa serwisy i ocenić samemu poziom php.pl. Widzę że Administracja przesunęła wątęk z PHP do Przedszkola. Oni sami powinni się tam udać. Pierdiele tutaj jest dno i nic więcej. Koleś się pyta o coś konkretnego to jeszcze to przenoszą do działu dla dzieci. Ja tutaj napewno nie będę się was o nic pytał bo szkoda by mi było czasu.
Fred1485
@up

Wow, jesteś taki dojrzały, że mógłbyś w google zamiatać wink.gif
redeemer
Cytat(Antonios @ 20.10.2015, 17:43:06 ) *
...
@redeemer twój przykład jest na poziomie zerówki gdyż to co napisałeś tworzy tablice multidimensional:
  1. [chleby] => Array(
  2. [0] =>Array(
  3. [0] 0pieczywo
  4. )
  5. [1] => Array(
  6. [0] 2pieczywo
  7. )
  8. [2] => Array(
  9. [0] 4pieczywo
  10. )
  11. [3] => Array(
  12. [0] 0pieczywo
  13. )
  14. )
  15. [bułki] => Array(
  16. [0] => Array(
  17. [0] 0pieczywo
  18. )
  19. [1] => Array(
  20. [0] 4pieczywo
  21. )
  22. [2] => Array(
  23. [0] 10pieczywo
  24. )
  25. [3] => Array(
  26. [0] 8pieczywo
  27. )
  28. )
  29. )

...
Tak tworzy tablicę, ale gdzie jednym kluczem jest cyfra a drugim wartość (a nie jakieś bzdury które wklejasz). I jak ma to pomóc? Ano tak, że nic nie trzeba będzie rozbijać, a jak będzie potrzebował "całość" to sobie skonkatenuje. Rozumiesz już?

Idąc Twoim/Waszym tokiem rozumowania to jakby ktoś zadał pytanie: "Kupiłem samochód w lipcu. Zbliża się zima, więc jak wbić gwoździe w oponę, żeby się nie ślizgać?" oczekiwałbyś porad w stylu "wbijaj pod kątem 45", albo "lepsze będą śruby". A jaka jest prawidłowa odpowiedź? Zagadkę zostawiam Tobie :-)

Reszty nie chce mi się komentować.

Ps. MESSIAH == Antonios
Antonios
Cytat(redeemer @ 20.10.2015, 17:57:55 ) *
Tak tworzy tablicę, ale gdzie jednym kluczem jest cyfra a drugim wartość (a nie jakieś bzdury które wklejasz). I jak ma to pomóc? Ano tak, że nic nie trzeba będzie rozbijać, a jak będzie potrzebował "całość" to sobie skonkatenuje. Rozumiesz już?

Idąc Twoim/Waszym tokiem rozumowania to jakby ktoś zadał pytanie: "Kupiłem samochód w lipcu. Zbliża się zima, więc jak wbić gwoździe w oponę, żeby się nie ślizgać?" oczekiwałbyś porad w stylu "wbijaj pod kątem 45", albo "lepsze będą śruby". A jaka jest prawidłowa odpowiedź? Zagadkę zostawiam Tobie :-)

Reszty nie chce mi się komentować.

Ps. MESSIAH == Antonios

Rozbić tablice na elementy i potem je połączyć? Ty tak na poważnie?
Jak byś był mechanikiem to tak by to wygklądało:
- Panie jak wymienić reflektor?
- Ano trzeba rozebrać samochód na wszystkie części

Konkatenacja? A to to co to niby jest? Kropka?:
  1. $Piekarnie['chleby'][] = funkcja_dodająca_cyfry() . funkcja_tworząca_string() ;

Tutaj faktycznie piekarze i cukiernicy przesiadują. Mam nadzieje że przynajmniej Html ogarnasz/cie.

PS
redeemer == trol
Gościu zadziwiasz wszystkich bystrością.
redeemer
facepalmxd.gif EOT
patwoj98
A jeśli by ustawić
  1. string = $tablica[0][0]

i explode?
MESSIAH :)
Dzięki wszystkim za pomoc. Kombinowaliście jak mogliście. Nie wiem kto był najbliżej rozwiązania. Ja zrobiłem to w ten sposób: Utworzyłem tablicę z kluczami id który generuje mi skrypt a wartość każdego klucza jest już bez żadnej cyfry. Następnie taką tabele poczęstowałem Iteratorem i wszystko gra i hula.
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.