Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Co Zrobić Gdy Nie Mogę Użycć Array_change_key_case
Dynuel
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 27.12.2003

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


chcę użyć array_change_key_case() , ale na serwerze nie mam pakietu wymaganego do jej działania, macie jakiś pomysł jak to roziązać??


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


NIe może być! Toć to standardowa funkcja..... No ale jeśli się nie da, to pokombinuj z array_keys() i strtoupper() / strtolower().


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
mike
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Może ci nie działać, jak masz starszą wersję php.
Cytat("manual")
array_change_key_case

(php 4 >= 4.2.0, php 5)

Pewnie masz starsze niż 4.2.0.

Jak nie działa, to napisz swoje, np. tak:
  1. <?php
  2. function my_array_change_key_case( $arrTablica, $strMode = &#092;"LOWER\" )
  3. {
  4. $arrResult = array();
  5. foreach( $arrTablica as $mixKey => $mixValue )
  6. {
  7. switch( $strMode )
  8. {
  9. case &#092;"LOWER\" : $arrResult[ strtolower( $mixKey ) ] = $mixValue;
  10.  break;
  11. case &#092;"UPPER\" : $arrResult[ strtoupper( $mixKey ) ] = $mixValue;
  12.  break;
  13. }
  14. }
  15. return $arrResult;
  16. }  
  17.  
  18. ?>

Nie testowałem ale powinno działać.
Go to the top of the page
+Quote Post
rogrog
post
Post #4





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


myślę że to jest odpowiednie miejsce do użycia zmiennych funkcji : nie musimy za każdym przebiegiem pętli sprawdzać warunku, tylko raz

  1. <?php
  2. function my_array_change_key_case( $arrTablica, $strMode = &#092;"LOWER\" )
  3. {
  4.  
  5. switch( $strMode )
  6. {
  7.  case &#092;"LOWER\" : $funkcja = 'strtolower';
  8.  break;
  9.  case &#092;"UPPER\" : $funkcja = 'strtoupper';
  10.  break;
  11. }
  12.  
  13. $arrResult = array();
  14.  
  15. foreach( $arrTablica as $mixKey => $mixValue )
  16. {
  17.  $arrResult[ $funkcja( $mixKey ) ] = $mixValue;
  18. }
  19.  
  20. return $arrResult;
  21.  
  22. }  
  23.  
  24. ?>


--------------------
Go to the top of the page
+Quote Post
Dynuel
post
Post #5





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 27.12.2003

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


ok rozwiązałem to,

aco do waszych skryptów to:

znacie php tak dobrze że chyba nie potraficie pisać skryptu bez skomplikowanych funkcji lub po prostu lubicie utrudniać sobie życie smile.gif hehe

ja zrobiłem to tak:
  1. <?php
  2.  
  3. while (list ($numer_rekordu_id, $wartosc_z_tablicy) = each ($tablica_linki))
  4. {
  5. $tablica_linki[$numer_rekordu_id] = strtoupper($wartosc_z_tablicy);
  6. }
  7.  
  8. ?>

zapewne jest to bardziej prymitywna metoda lecz prostsza

proste, logiczne, symetryczne

Ten post edytował Dynuel 23.06.2004, 11:26:09


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 13:51