[php] obcinanie ciągu znaków

Odpowiedz Nowy wątek
2006-10-31 21:59
0

napisałem funkcję która ma ucinać niepotrzebne znaki nowego wiersza na końcu każdego elementu tablicy:

function wywal_puste($co) {
    foreach($co as $i => $wartosc) {
        do {
            $end = count($wartosc)-2;
            if(substr($wartosc, $end)=="\n") $co[$i] = substr($wartosc, 0, $end);
            else $r = true;
        } while(!$r);
    }
    return $co;
}

no i wykonuje się w nieskończoność...
Co jest nie tak?


It's not just about livin' forever Johny.
The trick is livin' with yourself forever.

Pozostało 580 znaków

2006-10-31 22:08
0

warunek pętli
} while(!$r);zaprzeczasz zmiennej $r w tym warunku, natomiast w środku pętli dajesz tej zmiennej wartość true

Pozostało 580 znaków

2006-10-31 22:13
0

no i co w tym złego?
pętla powinna się wykonywać dopóki $r nie jest prawdziwe, a wykonuje się w nieskończoność :/


It's not just about livin' forever Johny.
The trick is livin' with yourself forever.

Pozostało 580 znaków

2006-10-31 22:44
0

spróbuj tak ( zamiast twojego if'a ):

if(substr($wartosc, $end)=="\n"){
   $co[$i] = substr($wartosc, 0, $end);
   $r=false;
 }else{
   $r = true;
 }

a pętla jest nieskończona dlatego, że nigdzie nie ma instrukcji mówiącej, że r ma być fałszywe ...


Hey ho!

Pozostało 580 znaków

2006-10-31 23:01
0

a czy r nie jest falszywe skoro go niema? :>


It's not just about livin' forever Johny.
The trick is livin' with yourself forever.

Pozostało 580 znaków

2006-10-31 23:08
0

Nie bardzo - nie ma znaczy nie jest zdefiniowane, jest falszywe znaczy jest zdefiniowane, jest typu bool i ma wartosc false. To troche co innego, nie?

pozdrawiam
johny


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-10-31 23:26
0
function wywal_puste($co) {
    foreach($co as $i => $wartosc) {
        do {
            $end = count($wartosc)-2;
            if(substr($wartosc, $end)=="\n") {
                $co[$i] = substr($wartosc, 0, $end);
                $jest = true;
            }
            else $jest = false;
        } while($jest);
    }
    return $co;
}

teraz jest tak i nadal się nie kończy [glowa]


It's not just about livin' forever Johny.
The trick is livin' with yourself forever.

Pozostało 580 znaków

2006-11-01 05:11
0

A wiesz, że możesz tak? :)

$tablica = array_map('rtrim', $tablica);

Pozostało 580 znaków

2006-11-01 05:24
0

jakto?
co wykonuje ta instrukcja? :>


It's not just about livin' forever Johny.
The trick is livin' with yourself forever.

Pozostało 580 znaków

2006-11-01 06:23
0

Teraz to chyba kpisz?
Kliknij na niej w moim poście to się dowiesz.. no wiesz.. już nawet linkujemy funkcje dla leniwych i jeszcze za mało? :/


Pozostało 580 znaków

2006-11-01 07:21
0

dzięki Marooned [rotfl]


It's not just about livin' forever Johny.
The trick is livin' with yourself forever.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0