lordlamer
Haudegen
hallo!
meine problembeschreibung:
ich hab nen string wie diesen hier:
<string>
a.b.c.d = test
config.test = wert
a.b.c = nochn wert
</string>
ich möchte das aus diesem string ein array gebaut wird der dann so aussieht:
$AR['a']['b']['c']['d'] = "test";
$AR['config']['test'] = "wert";
$AR['a']['b']['c'] = "nochn wert";
nun habe ich dafür eine klasse erstellet:
in meinem script mache ich dann
dabei bekomme ich dann folgende meldung:
Warning: array_values(): The argument should be an array in /www/typoeasy/index.php on line 32
hat jemand ne idee wie ich das lösen kann? oder nen hinweis. bin für jeden tip dankbar!
mfg frank
meine problembeschreibung:
ich hab nen string wie diesen hier:
<string>
a.b.c.d = test
config.test = wert
a.b.c = nochn wert
</string>
ich möchte das aus diesem string ein array gebaut wird der dann so aussieht:
$AR['a']['b']['c']['d'] = "test";
$AR['config']['test'] = "wert";
$AR['a']['b']['c'] = "nochn wert";
nun habe ich dafür eine klasse erstellet:
Code:
<class>
<?php
class script {
var $script = array();
function load($constants = "",$setup = "") {
$tmpsetup = explode("\n",$setup);
foreach($tmpsetup as $value) {
$value = strtr($value," ","");
$value = strtr($value,"\n","");
$value = strtr($value,"\r","");
$this->script = $this->AddToArray($this->script, $value, "testwert");
}
}
function AddToArray(&$temp, $key, $value) {
// $AR = Das Array wo die ganzen werte reinkommen
// $key = zum Bleistift mein.toller.wert
// $value = Der Wert des Keys
//$temp =& $AR;
//echo $key;
$keysplit = explode(".", $key);
for($i=0; $i<count($keysplit); $i++) {
if(!isset($temp[$keysplit[$i]])) {
$temp[$keysplit[$i]] = array();
}
$temp =& $temp[$keysplit[$i]];
}
$temp = $value;
return $temp;
}
}
?>
</class>
Code:
$b = array();
$a = new script();
$a->script = &$b;
$a->load("","a.b.c.d");
$a->load("","a.b");
dabei bekomme ich dann folgende meldung:
Warning: array_values(): The argument should be an array in /www/typoeasy/index.php on line 32
hat jemand ne idee wie ich das lösen kann? oder nen hinweis. bin für jeden tip dankbar!
mfg frank
Zuletzt bearbeitet von einem Moderator: