Regel in array hoofdletters maken
Hallo, ik heb een scriptje gemaakt die data uit een bestandje haalt en deze post m.b.v. een array, kan ik één regel uit deze array hoofdletters maken? Hieronder ziet u een voorbeeld van de array; hierbij moet de 'guid' regel hoofdletters worden.
[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?
[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
Gebruik strtoupper
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
Waar komen die arrays dan vandaan? Op het moment dat je die guid aan de array toekent kan je het al uppercase maken.
Is het trouwens niet handiger om met een database tabel(len) te werken?
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?
Als ik het goed zie bepaal je bij regel 24/25 de key van de array.
Regel 25 vervangen door:
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];
?>