in_array bij een array met 2 keys, dus array[x][y]
Stel dat ik het getal 10 wil zoeken in regel 1, dan dacht ik dit te doen door: in_array(10,array[1][]) maar dit werkt niet.
Gewijzigd op 30/06/2015 21:13:46 door - SanThe -
- SanThe - op 30/06/2015 21:01:45:
Als array[1] een arraay is dan is het in_array(10,array[1]).
Helaas niet, dan krijg je een parse error: Parse error: syntax error, unexpected ';'
Het is dus eigenlijk een tabel van array[1][1] t/m array[6][6]
Er moet gezocht worden in array[1][1] t/m array[1][6] om het getal in de eerste rij te doorzoeken.
Klopt wel, ik had ronde haken gebruikt --faal--
Gewijzigd op 30/06/2015 21:10:35 door Wilco de Jong
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
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
<?php
$test = array(
1 => array(
10 => null,
11 => false,
12 => '',
13 => 0,
14 => 'hoi',
),
);
?><h2>isset</h2><?php
echo (isset($test[1][10]) ? '10 set' : '10 not set').'<br />';
echo (isset($test[1][11]) ? '11 set' : '11 not set').'<br />';
echo (isset($test[1][12]) ? '12 set' : '12 not set').'<br />';
echo (isset($test[1][13]) ? '13 set' : '13 not set').'<br />';
echo (isset($test[1][14]) ? '14 set' : '14 not set').'<br />';
echo (isset($test[1][88]) ? '88 set' : '88 not set').'<br />';
?><h2>array_key_exists</h2><?php
echo (array_key_exists(10, $test[1]) ? '10 set' : '10 not set').'<br />';
echo (array_key_exists(11, $test[1]) ? '11 set' : '11 not set').'<br />';
echo (array_key_exists(12, $test[1]) ? '12 set' : '12 not set').'<br />';
echo (array_key_exists(13, $test[1]) ? '13 set' : '13 not set').'<br />';
echo (array_key_exists(14, $test[1]) ? '14 set' : '14 not set').'<br />';
echo (array_key_exists(88, $test[1]) ? '88 set' : '88 not set').'<br />';
?>
$test = array(
1 => array(
10 => null,
11 => false,
12 => '',
13 => 0,
14 => 'hoi',
),
);
?><h2>isset</h2><?php
echo (isset($test[1][10]) ? '10 set' : '10 not set').'<br />';
echo (isset($test[1][11]) ? '11 set' : '11 not set').'<br />';
echo (isset($test[1][12]) ? '12 set' : '12 not set').'<br />';
echo (isset($test[1][13]) ? '13 set' : '13 not set').'<br />';
echo (isset($test[1][14]) ? '14 set' : '14 not set').'<br />';
echo (isset($test[1][88]) ? '88 set' : '88 not set').'<br />';
?><h2>array_key_exists</h2><?php
echo (array_key_exists(10, $test[1]) ? '10 set' : '10 not set').'<br />';
echo (array_key_exists(11, $test[1]) ? '11 set' : '11 not set').'<br />';
echo (array_key_exists(12, $test[1]) ? '12 set' : '12 not set').'<br />';
echo (array_key_exists(13, $test[1]) ? '13 set' : '13 not set').'<br />';
echo (array_key_exists(14, $test[1]) ? '14 set' : '14 not set').'<br />';
echo (array_key_exists(88, $test[1]) ? '88 set' : '88 not set').'<br />';
?>
EDIT: in_array werkt met values, dus ik weet niet zekker of dat gaat werken.
EDIT2: Als je in een rij/kolom zoekt kan het misschien zinnig zijn om hier een aparte functie/methode voor te schrijven als je vaak moet zoeken. Misschien wil je toelichten waar je dit voor gebruikt idd.
EDIT3: Dan zit je ook een beetje met performance, hangt ook af van hoe vaak je dit gebruikt. in_array is langzamer dan isset/array_key_exists geloof ik, maar werkt verder prima blijkbaar :].
Gewijzigd op 30/06/2015 21:19:40 door Thomas van den Heuvel