12. juni 2010 - 18:55Der er
6 kommentarer og 1 løsning
Arrays - wrong datatype
Hej
Jeg får fejlen "Warning: array_search() [function.array-search]: Wrong datatype for second argument in" når jeg bruger både array_search() og in_array(), så noget gør jeg nok forkert men kan ikke se hvad.
Jeg har et array der indeholder flere arrays som: $mainarray = array("dyr" => array('hund', 'hest'), "navne" => array('peter','hans'));
Mit hovedformål er at finde ud af om "hans" eksistere i arrayet "navne". Så først hiver jeg det det rigtige array ud sådan $mitarray = $mainarray['navne'];
Derefter bruger jeg in_array() til at teste om navnet er der: if(in_array("jens", $mitarray))
og det er her jeg får fejlen hvor den siger at mit "second argument" er forkert datatype. Jeg formoder det betyder at $mitarray ikke er et korrekt Array.
Kan I hjælpe med hvad jeg gør galt? Jeg går næsten ud fra det er en lille ting der skal ændres for at typen er korrekt.
Sådan opbygger jeg mainarray. For hvert slut-element der skal sættes ind. Flere typer sættes ind som arrays og flere elementer sættes ind i de arrays $type kan være "dyr" eller "navne" $element er så hund, hest eller jens, peter $mainarray[$type][] = $element;
Mere kode er der faktisk ikke.
Og det underlige er at jeg kan printe $mitarray ud med print_r(), så umiddelbart virker det fint som et array. Men alligevel er som om in_array opfatter det anderledes.
Umiddelbart ser det dog ud til at min kode virker!!! Jeg får det rigtige resultat. MEN jeg vil meget gerne det til at virke UDEN disse fejl. Skal jeg mon sætte/konvertere $mitarray til et array, så PHP opfatter det som et korrekt array?
Jeg har ikke lige afprøvet dit sidste forslag men dit næst-sidste forslag virkede ikke. Men det gav mig ideen til at spørge på OM det er et array FØR jeg spørger om elementet er i arrayet og det ser ud til at virke uden fejlene.
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.