Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Indeksowanie tablicy tekstem
Forum PHP.pl > Forum > Przedszkole
BloodRedSandman
Mam utworzoną tablicę, chciałbym żeby była indeksowana tekstem. Wiem jak to zrobić przy tworzeniu/wypełnianiu tablicy. Czy można zmienić indeksowanie już wypełnionej danymi tablicy?
ddiceman
  1. <?php
  2. function zamien_w_tablicy_klucz_na_inny($tablica, $klucz, $zamiennik){
  3.    if(isset($tablica[$klucz] && !isset($tablica[$zamiennik])){
  4.        $tablica[$zamiennik] = $tablica[$klucz];
  5.        unset($tablica[$klucz]);
  6.        return $tablica;
  7.    }
  8.    else{
  9.        return false;
  10.    }
  11. }
  12. ?>

?
Orkan
array_combine" title="Zobacz w manualu PHP" target="_manual jak masz PHP 5
BloodRedSandman
A w jaki sposób można zrobić żeby kolumna była kluczem?
erix
Kolumna, tzn? Pobierasz dane z bazy?
BloodRedSandman
Tak, to miałem na myśli.
Dane z tabeli w bazie wrzucane są do tablicy. W tabeli mam kolumnę z unikalną datą (RR-MM-DD) chciałbym żeby wartości tej kolumny były indeksami tablicy.
erix
Hmm, nie podałeś kodu, którym wyciągasz dane z bazy, więc może coś w tym stylu?
  1. <?php
  2. $dates = array();
  3. while($r = mysql_fetch_assoc($q)){
  4.   $dates[$r['date']] = 'wartosc';
  5. }
  6. ?>

?
BloodRedSandman
Nie mam dostępu do kodu zapisującego wynik zapytania w tabeli...
Użycie komendy print_r na tablicy daje taki wynik:
Array (
[0] => stdClass Object (
[id] => 25
[data] => 2009-02-26
[kategoria] => 7
[miasto] => Kraków
[ilosc] => 2 )
[1] => stdClass Object (
[id] => 24
[data] => 2009-02-23
[kategoria] => 7
[miasto] => Kraków
[ilosc] => 1 )
[2] => stdClass Object (
...
erix
No to pętla foreach" title="Zobacz w manualu PHP" target="_manual i dopisujesz analogicznie jak w moim poprzednim poście, tylko zamiast kluczy tablicy - zmienne obiektu.
BloodRedSandman
Wpisałem
  1. <?php
  2. foreach ($rows as $row){
  3. $daty[$row->data] = $row;
  4. ?>


i działa! Dzięki za pomoc.
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.