Avatar billede 4u2x Nybegynder
01. juni 2008 - 17:52 Der er 9 kommentarer

søge i array værdi

Har et 2-dimensionelt array hvor jeg gerne vil søge på feltet "handelsdato_yyyy" hvordan gør jeg det?

Array
(
    [0] => Array
        (
            [valuenavn] => DSV
            [transtype] => 1
            [handelsdato] => 1211137953
            [handelsdato_yyyy] => 2008
            [antal] => 100
            [kurs] => 900
            [kurtage] => 50
        )

    [1] => Array
        (
            [valuenavn] => DSV
            [transtype] => 1
            [handelsdato] => 1213816446
            [handelsdato_yyyy] => 2008
            [antal] => 100
            [kurs] => 1000
            [kurtage] => 50
        )
}
Avatar billede olebole Juniormester
01. juni 2008 - 18:00 #1
<ole>

Hvad er det præcist, du vil?

/mvh
</bole>
Avatar billede 4u2x Nybegynder
01. juni 2008 - 18:04 #2
vil gerne søge efter værdien "2008" i [handelsdato_yyyy] således at det KUN er arrays der har værdien "2008" i [handelsdato_yyyy] der vil blive vist hvis jeg vil udskrive dem.
Avatar billede olebole Juniormester
01. juni 2008 - 18:16 #3
Jeg tvivler på, du kan bruge det til noget, men da du ikke giver flere informationer, må du nøjes med:

if ($myArray[0]["handelsdato_yyyy"]==2008) {
    // Første array's handelsdato_yyyy-felt indeholder 2008
}
if ($myArray[0]["handelsdato_yyyy"]==2008) {
    // Andet array's handelsdato_yyyy-felt indeholder 2008
}
Avatar billede olebole Juniormester
01. juni 2008 - 18:16 #4
Ups:

if ($myArray[0]["handelsdato_yyyy"]==2008) {
    // Første array's handelsdato_yyyy-felt indeholder 2008
}
if ($myArray[1]["handelsdato_yyyy"]==2008) {
    // Andet array's handelsdato_yyyy-felt indeholder 2008
}
Avatar billede 4u2x Nybegynder
01. juni 2008 - 18:19 #5
der må være smartere måder at søge og pille data ud fra arrays...

vil bare fjerne alle arrays som ikke har en handelsdato_yyyy der er lig 2008.
Avatar billede frand Nybegynder
01. juni 2008 - 18:24 #6
$myArray2 = array();
$cnt = count($myArray);

for($i=0; $i<$cnt; $i++){
    if($myArray[$i]["handelsdato_yyyy"] == 2008){
        $myArray2[] = $myArray[$i];
    }
}
Avatar billede olebole Juniormester
01. juni 2008 - 18:39 #7
"der må være smartere måder" ... mon ikke også, der er smartere måder at stille spørgsmål på? Hvorfor f.eks. ikke forsøge at beskrive den kontekst i hvilken, man ønsker en løsning skal fungere?  ;o)
Avatar billede 4u2x Nybegynder
01. juni 2008 - 18:56 #8
beklager mit dårlige dansk, men ved ikke hvordan jeg skal stille spørgsmålet på anden måde :/

til mit store held virker koden.. så lig et svar, så er point'ene dine
Avatar billede jakobdo Ekspert
01. juni 2008 - 19:37 #9
olebole: Har man fået det forkerte ben ud af sengen ? Faktisk giver spørgsmålet da ok mening.
Spørgeren har et 2-dimensionelt array, hvor han kun ønsker at arbejde videre med de arrays, hvor handelsdato_yyyy indeholder 2008. :o)

Og det må være som frand skriver, der er den nemmeste måde at arbejde videre med det på.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester