In array zoeken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stijn

stijn

03/01/2008 20:19:00
Quote Anchor link
Hallo,

Ik vroeg me af of er een functie bestond die kijkt of er een key bestaat in een array die met bepaalde tekens begint. En dan ook nog die key teruggeeft.

Dus
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
 $array
=array("phphulp","nogmeer","enzoiets");
 if(diefunctie("php",$array))//zou true moeten geven
 {
  $key=diefunctie("php",$array);//geeft dan 0.
 }
?>


In de functie lijst kon ik hem niet vinden...
Gewijzigd op 01/01/1970 01:00:00 door Stijn
 
PHP hulp

PHP hulp

21/11/2024 20:53:56
 
Martijn B

Martijn B

03/01/2008 20:27:00
Quote Anchor link
Kijk hier even tussen: http://nl2.php.net/array


Je zou van je array een string kunnen maken waarin de waardes gescheiden zijn door unieke scheidingsteken,s.

Daarna ga je zoeken en tel je het aantal unieke scheidingsteken,s voor een resultaat en weet je aan de hand daarvan de sleutel.
 

03/01/2008 20:32:00
Quote Anchor link
Dat kan je zo op php.net vinden:
php.net/array
Je zegt key, dus dan is het deze:
http://php.net/manual/en/function.array-key-exists.php
Maar dat bedoel je niet.
Onderaan die pagina staat in_array():
http://php.net/manual/en/function.in-array.php

Gewoon eerst op php.net kijken.
 
Wessel Johnson

Wessel Johnson

03/01/2008 20:32:00
Quote Anchor link
Ik heb ff snel iets gemaakt:

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php

function keystart($salt, $arr, $check = false) {
    if (is_array($arr)) {
        if ($check) {
            $ret = false;
            
            foreach($arr as $rec) {
                if (ereg('^'.$salt, $rec)) {
                    $ret = true;
                }
            }

            
            return $ret;
        }
else {
            $ret = false;
            
            for ($i = 0;$i < count($arr); $i++) {
                if (ereg('^'.$salt, $arr[$i])) {
                    $ret = $i;
                }
            }

            
            return $ret;
        }
    }
else {
        return false;
    }
}



$arr = array(
    'phphulp',
    'iets',
    'nogmeer'
);

if (keystart('php', $arr, true)) {
    $key = keystart('php', $arr);
}


if ($key === false) {
    echo 'Geen resultaat.';
}


echo $key;

?>


Ik hoop dat het wat is. ;)
Gewijzigd op 01/01/1970 01:00:00 door Wessel Johnson
 
Martijn B

Martijn B

03/01/2008 20:40:00
Quote Anchor link
Ziet er goed uit.

Ik dacht weer te moeilijk ;P

edit:

Op deze manier is parameter $arr altijd een array:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
function keystart($salt, array $arr, $check = false)
{
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
 
Stijn

stijn

03/01/2008 20:47:00
Quote Anchor link
Ik zocht wat wessel heeft gemaakt bedankt :)
 



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.