Avatar billede dennism Nybegynder
25. april 2007 - 12:46 Der er 3 kommentarer og
1 løsning

PHP: konverter array

Jeg har et array $image som indeholder stier til nogle billeder.

Jeg skal nu bruge en metode som modificerer arrayet, så det overholder disse to regler:
1) den samme sti må ikke repræsenteres på to indgange. Hvis der er dupletter skal den de bare slettet, så den kun fremgår én gang.
2) hvis stien ikke ender på .jpg el. .jpeg skal indgangen bare slettet

Håber nogen kan hjælpe mig med dette!
På forhånd tak.
Avatar billede hmortensen Nybegynder
25. april 2007 - 12:55 #1
Vil tro det kan løses sådan her.

$image = array_uniqe($image);
for ($i = 0; $i < count($image); $i++)
{
  if (substr($image[$i], -4) != ".jpg"
    &&
    substr($image[$i], -5) != ".jpeg")
  {
    unset($image[$i]);
  }
}
Avatar billede j4k0b Nybegynder
25. april 2007 - 18:32 #2
denne funktion skulle kunne hvad du søger (er dog ikke testet):

function convert_array($arr) {
    foreach($arr as &$value) {
        $value = strtolower($value);
    }
    $arr = array_unique($arr);
    $out = array();
   
    foreach($arr as $filepath) {
        $base = basename($filepath);
        if(strpos($base, '.') === false) {
            continue;
        }

        if(substr($base,-4) != '.jpg') {
            array_push($out, $filepath);
        } elseif(substr($base,-5) != '.jpeg') {
            array_push($out, $filepath);
        }
    }
    return $out;
}
Avatar billede dennism Nybegynder
14. juni 2007 - 15:45 #3
Tak for hjælpen. Smider I lige et svar?
Avatar billede hmortensen Nybegynder
14. juni 2007 - 17:49 #4
Det var så lidt.
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