Regel in array hoofdletters maken
[0] => Array
(
[guid] => 00155d367d315c488dcf669dcc09f4f5
[timestamp] => 1357859408 # Fri Jan 11 00:10:08 2013
[ip] =>
[mac] =>
[name] => GeForce
[namex] => GeForce
[authLevel] => 0
[greetingText] =>
[greetingAudio] =>
[xpSkills] => UyHH9uYA6SPqH588RsmF3Iy40xBnnzEJPgzDXmw0QWY=
)
Nog verdere informatie nodig, zoals de code?
Gewijzigd op 19/03/2013 17:11:31 door Victor G
Ger van Steenderen op 19/03/2013 17:08:09:
Gebruik strtoupper
Ja die ken ik, maar hoe kan ik in die array een regel opzoeken, dat is wat ik niet snap. Er zijn namelijk +/- 9.000 arrays. De hele regel moet hoofdletters worden, en de guid is bij elke array anders.
Gewijzigd op 19/03/2013 17:10:32 door Victor G
Is het trouwens niet handiger om met een database tabel(len) te werken?
Code (php)
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
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
<?php
$inhoud = file_get_contents('user.db');
$array = explode('###############################################################################', $inhoud);
$new = array();
foreach($array as $line)
{
if(trim($line) == '')
{
continue;
}
$temp = array();
$explode = explode(PHP_EOL,$line);
foreach($explode as $item)
{
if(trim($item) == '')
{
continue;
}
$temp[] = trim($item);
}
$temp2 = array();
foreach($temp as $set)
{
$explode = explode(' =',$set);
$temp2[trim($explode[0])] = trim($explode[1]);
}
$new[] = $temp2;
}
echo '<pre>'.print_r($new, true).'</pre>';
?>
$inhoud = file_get_contents('user.db');
$array = explode('###############################################################################', $inhoud);
$new = array();
foreach($array as $line)
{
if(trim($line) == '')
{
continue;
}
$temp = array();
$explode = explode(PHP_EOL,$line);
foreach($explode as $item)
{
if(trim($item) == '')
{
continue;
}
$temp[] = trim($item);
}
$temp2 = array();
foreach($temp as $set)
{
$explode = explode(' =',$set);
$temp2[trim($explode[0])] = trim($explode[1]);
}
$new[] = $temp2;
}
echo '<pre>'.print_r($new, true).'</pre>';
?>
Misschien tips?
Ergens tussen regel 18 en 19 kijken of de key() == 'guid' en zo ja: die key wijzigen met strtoupper?
Ja, dat is dus mijn vraag, wat moet daar tussen? Ik weet niet hoe dat moet.
Regel 25 vervangen door:
Code (php)
1
2
3
4
2
3
4
<?php
$key = trim($explode[0]);
$temp2[$key] = ($key == 'guid') ? strtoupper(trim($explode[1]) : trim($explode[1];
?>
$key = trim($explode[0]);
$temp2[$key] = ($key == 'guid') ? strtoupper(trim($explode[1]) : trim($explode[1];
?>
Ja het werkt, bedankt!