Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> unset() w konteskście statycznym
23kulpamens
post
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 1
Dołączył: 11.10.2007

Ostrzeżenie: (0%)
-----


Jak to jest możliwe, że nie mogę usunąć ani zmienić zawartości komórki tablicy przekazywanej do funkcji?? Kod jest taki
  1. public static function search($input){
  2. /**
  3.   * Process input
  4.   */
  5. print_r($input);
  6. if( $input['price']['from'] == '' && $input['price']['to'] == ''){
  7. var_dump("cut1");
  8. $input['price'] = 1;
  9. $input['price'] = '';
  10. unset($input['price']);
  11. }else{
  12. var_dump("trim");
  13. $input['price']['from'] = ($input['price']['from'] == '' ? 0 : $input['price']['from']);
  14. $input['price']['to'] = ($input['price']['to'] == '' ? 0 : $input['price']['to']);
  15. }
  16.  
  17. if( $input['area']['from'] == '' && $input['area']['to'] == ''){
  18. var_dump("cut");
  19. $input['area'] = 1;
  20. unset($input['area']);
  21. }else{
  22. var_dump("trim");
  23. $input['area']['from'] = ($input['area']['from'] == '' ? 0 : $input['area']['from']);
  24. $input['area']['to'] = ($input['area']['to'] == '' ? 0 : $input['area']['to']);
  25. }
  26.  
  27. foreach($input['parameters'] as $key => $value){
  28. if( $value == '')
  29. unset($input[$key]);
  30. }
  31. print_r($input);


tablica $input na początku i na końcu jest taka sama. Nie rozumiem dlaczego unset nie działa. Czy ze względu na kontekst statyczny?? Ma ktoś jakieś rozwiązanie??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
23kulpamens
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 1
Dołączył: 11.10.2007

Ostrzeżenie: (0%)
-----


to jest wynik działania skryptu:
Kod
Array
(
    [input] => Array
        (
            [estateCategory] => mieszkanie
            [noticeType] => 1
        )

    [parameters] => Array
        (
            [wojewodztwo] => dolnośląskie
            [city] =>
            [district] =>
            [price] => Array
                (
                    [from] =>
                    [to] =>
                )

            [area] => Array
                (
                    [from] =>
                    [to] =>
                )

            [rynek] => Array
                (
                    [wtorny] => 1
                )

            [cena_za_m2] => Array
                (
                    [from] =>
                    [to] =>
                )

            [budynek] => Array
                (
                    [blok_mieszkalny] => 1
                    [dom_wielorodzinny] => 1
                    [segmentowy_srodkowy] => 1
                )

            [ilosc_pokoi] => Array
                (
                    [from] =>
                    [to] =>
                )

            [ilosc_pieter] => Array
                (
                    [from] =>
                    [to] =>
                )

            [pietro] => Array
                (
                    [from] =>
                    [to] =>
                )

            [numerOgloszenia] =>
        )

    [nowe_konto_x] => 32
    [nowe_konto_y] => 7
)
string(4) "cut1"
string(3) "cut"
Array
(
    [input] => Array
        (
            [estateCategory] => mieszkanie
            [noticeType] => 1
        )

    [parameters] => Array
        (
            [wojewodztwo] => dolnośląskie
            [city] =>
            [district] =>
            [price] => Array
                (
                    [from] =>
                    [to] =>
                )

            [area] => Array
                (
                    [from] =>
                    [to] =>
                )

            [rynek] => Array
                (
                    [wtorny] => 1
                )

            [cena_za_m2] => Array
                (
                    [from] =>
                    [to] =>
                )

            [budynek] => Array
                (
                    [blok_mieszkalny] => 1
                    [dom_wielorodzinny] => 1
                    [segmentowy_srodkowy] => 1
                )

            [ilosc_pokoi] => Array
                (
                    [from] =>
                    [to] =>
                )

            [ilosc_pieter] => Array
                (
                    [from] =>
                    [to] =>
                )

            [pietro] => Array
                (
                    [from] =>
                    [to] =>
                )

            [numerOgloszenia] =>
        )

    [nowe_konto_x] => 32
    [nowe_konto_y] => 7
    [price] =>


jak widać "cut" oraz "cut1" się wypisują, więc warunek jest spelniony

Ten post edytował 23kulpamens 21.09.2009, 17:31:50
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.01.2026 - 03:22