Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak zmienić nazwę klucza
Forum PHP.pl > Forum > Przedszkole
bulimaxiu
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
piotrooo89
  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.
bulimaxiu
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
piotrooo89
nie wiem czy znajedziej taka funkcje, stikte pod Twoje oczekiwania, ja nie znam.
robar12
<?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
mls
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.
bulimaxiu
OK, zastosuję na razie przez drugą tablicę, ale jakby ktoś znał funkcję wbudowaną, to proszę o wpis.

Pozdrawiam.
Sebastian
Maxik
array_walk" title="Zobacz w manualu PHP" target="_manual referencja i prosta funkcja
bulimaxiu
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.
michalg
Jeśli znasz strukturę tej tablicy z wartościami, to użyj funkcji array_combine.
Maxik
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ć.
bulimaxiu
Nie dokładnie tego szukałem, nie mnie jednak to rozwiązanie stanowi wygodne rozwiązanie mojego problemu.

Dziękuję.

Pozdrawiam.
Sebastian
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.