Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z kluczem tablicy, ... element z XML kluczem w tablicy
bobens_83
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 7.11.2005
Skąd: z Czelsy

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


Witam drodzy PHP'owcy.

Nurtuje mnie pewna sytuacja ... mianowicie:

1) W przypadku pierwszym ładuję dane do tablicy w sposób: (string) klucz => (string) wartość

  1. $atest = array();
  2. $key = '';
  3. for ($x = 0; $x < 500; $x++) {
  4. $key .= "X";
  5. $value = "test" . strlen($key);
  6. $atest[$key] = $value;
  7. }
  8. echo $atest['XXXX'];


echo $atest['XXXX']; zwraca 'test4'

2) W przypadku drugim również ładuję tablicę: (string) klucz => (string) tzn: $acats[$cat_id] = $cat_txt;

  1. $acats = array();
  2. $cat_id = ""; // zmienna jako string
  3. $cat_txt = ""; // zmienna jako string
  4. $xml = simplexml_load_file('structure.xml');
  5. foreach ($xml->children() as $cat) {
  6. $cat_id = $cat['id']; // przypisanie do zmiennej typu string
  7. $cat_txt = $cat['txt']; // -||-
  8. $acats[$cat_id] = $cat_txt; // ERROR
  9. }


i otrzymuje trzykrotne (3 - tyle jest childrenów $cat w $xml, wartości nie powtarzają się)...
Warning: Illegal offset type in C:\wamp\www\test01\index.php on line 55


Na pierwszy rzut oka sutuacje (tzn sposób napełniania tablicy) wydają mi się analogiczne, czemu więc drugi sposób nie działa?

Będę wdzięczny za podpowiedzi, pozdrawiam. P.

Ten post edytował bobens_83 31.08.2009, 21:03:55
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1. var_dump($cat_id);

przed uzyciem tej zmiennej jako klucza i dostaniesz odpowiedź.
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.10.2025 - 00:08