"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."
If it ain't broken it doesn't have enough features
1
2
3
4
5
| foreach($array as $key => $value) { if($value == $search) { unset($array[$key]); } } |
1
2
3
4
5
| $arr = array( 0 => '1', 1 => '2', 2 => '4', 3 => '6' ); $value = array_search( 4, $arr ); unset( $arr[$value] ); |
ik weet het niet zeker maar volgens mij unset je de hele array met de code van Dizzyweb
Raz- ? watnou als je niet zeker weet in welke index de waarde zit die je zoekt?
[ Voor 100% gewijzigd door Webgnome op 11-08-2004 01:05 ]
Zullen we dat even safe maken?Webgnome schreef op 11 augustus 2004 @ 01:02:
dan is dit toch makkelijker
PHP:
1 2 3 4 5 $arr = array( 0 => '1', 1 => '2', 2 => '4', 3 => '6' ); $value = array_search( 4, $arr ); unset( $arr[$value] );
1
2
3
4
5
| $arr = array( 0 => '1', 1 => '2', 2 => '4', 3 => '6' ); $value = array_search( 4, $arr ); if($value !== false) unset( $arr[$value] ); |
[edit]
Als je dat niet doet, en de waarde komt er niet in voor, dan retourneert array_search false, en dat wordt als waarde voor $arr[$value] als $arr[0] gelezen.
[ Voor 44% gewijzigd door Grijze Vos op 11-08-2004 01:27 ]
Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info
niet aan gedachtGrijze Vos schreef op 11 augustus 2004 @ 01:26:
[...]
Zullen we dat even safe maken?
PHP:
1 2 3 4 5 $arr = array( 0 => '1', 1 => '2', 2 => '4', 3 => '6' ); $value = array_search( 4, $arr ); if($value !== false) unset( $arr[$value] );
[edit]
Als je dat niet doet, en de waarde komt er niet in voor, dan retourneert array_search false, en dat wordt als waarde voor $arr[$value] als $arr[0] gelezen.
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."
1
2
3
4
5
6
| Array ( [0] => 1 [1] => 2 [3] => 6 ) |
gebruik array_splice:
1
| array_splice($arr, $value, 1); |
Intentionally left blank
Verwijderd
En als we nou de arrayGrijze Vos schreef op 11 augustus 2004 @ 01:26:
[...]
Zullen we dat even safe maken?
PHP:
1 2 3 4 5 $arr = array( 0 => '1', 1 => '2', 2 => '4', 3 => '6' ); $value = array_search( 4, $arr ); if($value !== false) unset( $arr[$value] );
[edit]
Als je dat niet doet, en de waarde komt er niet in voor, dan retourneert array_search false, en dat wordt als waarde voor $arr[$value] als $arr[0] gelezen.
1
| $arr = array(true => 'blauw', false => 'geel'); |
hebben...?
Och, blijft redelijk efficient.DizzyWeb schreef op 11 augustus 2004 @ 00:53:
Hmm. NIet echt efficient, maar toch:
PHP:
1 2 3 4 5 foreach($array as $key => $value) { if($value == $search) { unset($array[$key]); } }
array_search loopt ook de hele array af en kijkt of ie gelijk is aan de needle.
dot.blaat
Verwijderd
Jah, maar array_search doet het in machinecode en de lus in geïnterpreteerde code.Rostvertol-Mil schreef op 11 augustus 2004 @ 19:13:
Och, blijft redelijk efficient.
array_search loopt ook de hele array af en kijkt of ie gelijk is aan de needle.
1
2
3
4
5
6
7
| Array ( [0]['bestemming'] => Amsterdam [1]['bestemming'] => Den Bosch [2]['bestemming'] => Nederland [3]['bestemming'] => Arnhem ) |
Nu moet (zoals je ziet) Nederland ($land) eruit gehaald worden
Nu had ik gehoopt dat met de array_search functie ik Nederland wel zou kunnen vinden, en met de key verder werken.
Echter als ik de key even print (echo $key) krijg ik steevast niets te zien.
Werkt de array_search functie niet icm deze array?
EDIT: laat maar. Anders opgelost.
De bovenstaande array komt uit een mysql functie. Ik loop middels een foreach gewoon elk record na, en maak zo dus een nieuwe array aan (en laat de waarde $land uit de nieuw gemaakte array)
Ergo: probleem opgelost.
[ Voor 30% gewijzigd door 456 op 09-09-2004 12:57 ]
Een dag geen vertraging, is een dag niet gereisd
Verwijderd
456 schreef op 09 september 2004 @ 12:42:
Ik heb hetzelfde probleem, echter mijn array ziet er anders uit:
code:
1 2 3 4 5 6 7 Array ( [0]['bestemming'] => Amsterdam [1]['bestemming'] => Den Bosch [2]['bestemming'] => Nederland [3]['bestemming'] => Arnhem )
Nu moet (zoals je ziet) Nederland ($land) eruit gehaald worden
Nu had ik gehoopt dat met de array_search functie ik Nederland wel zou kunnen vinden, en met de key verder werken.
Echter als ik de key even print (echo $key) krijg ik steevast niets te zien.
Werkt de array_search functie niet icm deze array?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| // init $array = array ( 0 => array('bestemming' => 'Amsterdam'), 1 => array('bestemming' => 'Den Bosch'), 2 => array('bestemming' => 'Nederland'), 3 => array('bestemming' => 'Arnehm') ); // search foreach($array AS $key => $value) { if($value['bestemming'] == $search) { echo $key; } } |
Edit: wakker worden Ivy. Voor de medemens dan maar, zullen we zeggen.
[ Voor 15% gewijzigd door Verwijderd op 09-09-2004 12:57 ]
Verwijderd schreef op 09 september 2004 @ 12:57:
[...]
PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 // init $array = array ( 0 => array('bestemming' => 'Amsterdam'), 1 => array('bestemming' => 'Den Bosch'), 2 => array('bestemming' => 'Nederland'), 3 => array('bestemming' => 'Arnehm') ); // search foreach($array AS $key => $value) { if($value['bestemming'] == $search) { echo $key; } }
Edit: wakker worden Ivy. Voor de medemens dan maar, zullen we zeggen.
Een dag geen vertraging, is een dag niet gereisd
Verwijderd
Altijd leuk; die volgorde van: 1) quoten van org. post, 2) replyen op org. post, 3) org. post wordt ge-edit, 4) reply wordt gepost - en het gevolg daarvan. Gebeurd vaker hier geloof ik