Hee,
Iemand FastFox vroeg aan mij of ik iets wilde maken zodat je een array in een tekstbestandje kon opslaan.
Ik zat toch maar huiswerk te maken, dus dacht; ga ik ff maken.
Daar waren serialize() en unserialize() al voor, maargoed.
Ik ging verder, en had zoiets:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php
$array = array(
'lolz',
array(
'naam' => 'lennard',
'status' => 'pwner',
'website' => array(
'www.google.nl',
'second' => 'www.saven.nl'
)
),
'a' => 'b'
);
$string = "<?php\n";
$string .= "\$array = array(\n";
function readout($array, $level)
{
global $string;
$end = $array;
$end = end($end);
foreach($array as $key => $value)
{
$skey = is_numeric($key) || is_bool($key) ? $key : "'".$key."'";
$svalue = is_numeric($value) || is_bool($key) ? $value : "'".$value."'";
$fill = str_repeat("\t", $level);
if(is_array($value))
{
$string .= $fill.$skey." => ".$fill."array (\n";
readout($value, ++$level);
}
else
{
if($value == $end)
{
$string .= $fill.$skey." => ".$svalue."),\n";
}
else
{
$string .= $fill.$skey." => ".$svalue.",\n";
}
}
}
}
$level = 1;
$copy = $array;
$allerlaatste = end($copy);
readout($array, &$level);
$string = substr(trim($string), 0, -1);
$string .= "\t);\n";
$string .= "?>";
echo highlight_string($string, TRUE);
?>
Wanneer ik dat met print_r() uitvoer, krijg ik dit:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Array
(
[0] => lolz
[1] => Array
(
[naam] => lennard
[status] => pwner
[website] => Array
(
[0] => www.google.nl
[second] => www.saven.nl
)
[a] => b
)
)
terwijl het dit moet zijn:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Array
(
[0] => lolz
[1] => Array
(
[naam] => lennard
[status] => pwner
[website] => Array
(
[0] => www.google.nl
[second] => www.saven.nl
)
)
[a] => b
)
Dus die [a] => b staat verkeerd.
Weet iemand waar ik 't fout doe?
Er zitten wat overbodige dingen in, maar dat komt omdat ik hem moest testen enzeauj.
Anybody?