Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Jak zmienić nazwę klucza
bulimaxiu
post 28.03.2009, 20:39:29
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 18.06.2008
Skąd: Reda

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


Witam.

Jak można zmienić nazwę klucza tablicy np. ze struktury
Kod
     Array
      (
          [0] => Wartosc1
          [1] => Wartosc2
      )

na
Kod
       Array
        (
            [klucz1] => Wartosc1
            [klucz2] => Wartosc2
        )

Chodzi oczywiście czy jest jakaś prosta funkcja wbudowana do tego, żeby nie robić np. drugiej tablicy o nowej strukturze kluczy.

pozdrawiam.
Sebastian

Ten post edytował bulimaxiu 28.03.2009, 20:40:37
Go to the top of the page
+Quote Post
piotrooo89
post 28.03.2009, 20:45:01
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




  1. <?php
  2. $tab = array('w1','w2');
  3. print_r($tab);
  4.  
  5. $a=1;
  6. foreach($tab AS $klucz => $wart)
  7. {
  8.    $tab2['klucz'.$a] = $wart;
  9.    $a++;
  10. }
  11. print_r($tab2);
  12. ?>


wykonceptowałem coś takiego.


--------------------
Go to the top of the page
+Quote Post
bulimaxiu
post 28.03.2009, 22:40:41
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 18.06.2008
Skąd: Reda

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


Dzięki, ale to właśnie jest przez tworzenie drugiej tablicy i to nie to co potrzebuję (jak napisałem w poście #1). Chodzi mi czy jest jakieś polecenie w PHP, które by umożliwiało by taką zmianę (bo znalazłem tylko zmianę wartości i samo listowanie key'ów)

Pozdrawiam.
Sebastian
Go to the top of the page
+Quote Post
piotrooo89
post 29.03.2009, 13:58:30
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




nie wiem czy znajedziej taka funkcje, stikte pod Twoje oczekiwania, ja nie znam.


--------------------
Go to the top of the page
+Quote Post
robar12
post 29.03.2009, 15:11:15
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 3
Dołączył: 14.01.2009

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


<?php
$tab = array('w1','w2');
print_r($tab);

$a=1;
foreach($tab AS $klucz => $wart)
{
$tab2['klucz'.$a] = $wart;
$a++;
$tab = $tab2;
}
print_r($tab);
?>
sprawdzone działa smile.gif
Go to the top of the page
+Quote Post
mls
post 29.03.2009, 17:57:13
Post #6





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


Cytat(robar12 @ 29.03.2009, 16:11:15 ) *
sprawdzone działa smile.gif


Po pierwsze - bbcode.
Po drugie - po co w tym kodzie w ogóle zmienna $a?
Po trzecie - co sprawdzone? Chyba to, że nie masz prawie żadnego pojęcia o programowaniu.


--------------------
Go to the top of the page
+Quote Post
bulimaxiu
post 29.03.2009, 19:37:18
Post #7





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 18.06.2008
Skąd: Reda

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


OK, zastosuję na razie przez drugą tablicę, ale jakby ktoś znał funkcję wbudowaną, to proszę o wpis.

Pozdrawiam.
Sebastian
Go to the top of the page
+Quote Post
Maxik
post 29.03.2009, 19:41:46
Post #8





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


array_walk" title="Zobacz w manualu PHP" target="_manual referencja i prosta funkcja


--------------------
Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/
Go to the top of the page
+Quote Post
bulimaxiu
post 30.03.2009, 20:18:44
Post #9





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 18.06.2008
Skąd: Reda

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


ok, a ta prosta funkcja to jaka? Sądząc po działaniu array_walk, widzę uruchomienie funkcji, tworzącej drugą tabelę ($tab2) o zmienionych odpowiednio kluczach i podstawienie drugiej tablicy do starej ($tab1 = $tab2). Ale to wciąż robienie drugiej tablicy.
Go to the top of the page
+Quote Post
michalg
post 30.03.2009, 20:36:58
Post #10





Grupa: Zarejestrowani
Postów: 122
Pomógł: 8
Dołączył: 20.10.2008

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


Jeśli znasz strukturę tej tablicy z wartościami, to użyj funkcji array_combine.
Go to the top of the page
+Quote Post
Maxik
post 30.03.2009, 21:34:29
Post #11





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

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


Nie chcesz array_walk to proszę:
  1. <?php
  2. function associatize(&$array, $prefix){
  3. foreach($array as $index=>$value){
  4. $index+=1;
  5. $array[$prefix.$index] = $value;
  6. unset($array[$index]);
  7. }
  8. return true;
  9. }
  10. ?>

Pisane z palca, ale powinno działać.


--------------------
Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/
Go to the top of the page
+Quote Post
bulimaxiu
post 9.04.2009, 19:39:45
Post #12





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 18.06.2008
Skąd: Reda

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


Nie dokładnie tego szukałem, nie mnie jednak to rozwiązanie stanowi wygodne rozwiązanie mojego problemu.

Dziękuję.

Pozdrawiam.
Sebastian
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:19