Ik zit met een functie die uit een tekst bestand een soort van register laad. Om te controleren vraag ik dan een array index op die de versie nummer bevat, maar dan krijg ik steevast de melding dat de index niet bestaat. Als ik daarentegen vlak daarvoor die zelfde index op het scherm laat weergeven krijg ik gewoon de waarde te zien en ook komt die terug als ik print_r gebruik. Wat kan er fout gaan? Ik heb van alles geprobeerd en ook de functie opnieuw geschreven, maar toch weer dezelfde fout.
en zo ziet het voorbeeld register bestand er uit
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| private function interpret($file){ $current_root_key = "registry"; foreach($file as $line){ $line = trim($line); if($line == "") continue; if(preg_match("~^;~", $line)) continue; if(preg_match("~^\[([a-z0-9]){1,256}\]~i", $line)){ $line = strtolower($line); $line = str_replace("[", "", $line); $line = str_replace("]", "", $line); $current_root_key = $line; continue; } else { if(!preg_match("~=~", $line)) continue; // no = parameter $parts = explode("=", $line); $class_key = strtolower(array_shift($parts)); count($parts) > 1 ? $value = unserialize(implode("=", $parts)) : $value = unserialize($parts[0]); $this->registry[$current_root_key][$class_key] = $value; } } |
en zo ziet het voorbeeld register bestand er uit
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| ;PHP5 Solutions Registry File [REGISTRY] Version=d:0.1000000000000000055511151231257827021181583404541015625; [PATHS] base_path=s:3:"../"; www_path=s:7:"../www/"; controller_path=s:15:"../controllers/"; viewer_path=s:11:"../viewers/"; model_path=s:10:"../models/"; application_path=s:16:"../applications/"; user_path=s:9:"../users/"; languages=s:13:"../languages/"; [SETTINGS] language=s:5:"nl-nl"; [PROGRAMS] |
telefoontoestel