array key unsetten op basis van waarde value?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ozzie PHP

Ozzie PHP

29/04/2011 18:22:49
Quote Anchor link
Hallo,

Ik heb een array waarvan ik een key met een bepaalde value wil unsetten. Welke functie gebruik ik daar het beste voor?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$array
= {0 => 'appel', 1 => 'peer', 2=> 'banaan');
?>


Nu wil ik de key met als waarde 'peer' unsetten. Wat ik kan doen is dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
foreach ($array as &$key => $value) {
   if ($value == 'peer') unset($array[$key]);
}

?>


Zoals je ziet moet ik nu de hele array doorlopen met een loop. Kan dit niet handiger?
 
PHP hulp

PHP hulp

15/01/2025 22:04:52
 
- Mark -

- Mark -

29/04/2011 18:32:05
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

    if(!$key = array_search('peer', $array)){
        
    # Gezochte waarde niet gevonden.    
        
    }
    else{
    
    # Gezochte waarde gevonden.
    
        unset($key);
        
    }


?>


Let wel op als je meerdere "peren" in je array hebt. Alleen de eerste zal dan worden unset. Ik weet niet in hoeverre alles unset moet worden.
Gewijzigd op 29/04/2011 18:33:20 door - Mark -
 
Noppes Homeland

Noppes Homeland

29/04/2011 18:35:34
Quote Anchor link
Die if die klopt niet!!

Je zult werkelijk moeten controleren of peer daadwerkelijk gevonden is in de array
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php

    if(($key = array_search('peer', $array)) !== false){
        
        unset($key);
    }


?>


en dat geld in feite voor al dit soort functies
 
Ozzie PHP

Ozzie PHP

29/04/2011 18:35:58
Quote Anchor link
Dankjewel heren, precies wat ik zocht. Top!
Gewijzigd op 29/04/2011 18:38:28 door Ozzie PHP
 
- Mark -

- Mark -

29/04/2011 19:14:50
Quote Anchor link
ai, daar had ik even niet aan gedacht. Dat op type controleren moet ik even onthouden.
Gewijzigd op 29/04/2011 19:15:16 door - Mark -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.