Nurtuje mnie pewna sytuacja ... mianowicie:
1) W przypadku pierwszym ładuję dane do tablicy w sposób: (string) klucz => (string) wartość
$key = ''; for ($x = 0; $x < 500; $x++) { $key .= "X"; $atest[$key] = $value; }
echo $atest['XXXX']; zwraca 'test4'
2) W przypadku drugim również ładuję tablicę: (string) klucz => (string) tzn: $acats[$cat_id] = $cat_txt;
$cat_id = ""; // zmienna jako string $cat_txt = ""; // zmienna jako string $xml = simplexml_load_file('structure.xml'); foreach ($xml->children() as $cat) { $cat_id = $cat['id']; // przypisanie do zmiennej typu string $cat_txt = $cat['txt']; // -||- $acats[$cat_id] = $cat_txt; // ERROR }
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.