11. december 2004 - 15:56Der er
7 kommentarer og 1 løsning
If, kontroller array mod array
Hej eksperter
Jeg et problem. Jeg har et array $list, som indeholder en tekst delt op, ord for ord. Jeg har så en række ord, så som "og", "er" osv., som jeg vil kontrollere for, hvis jeg skriver det i kode:
for ($i=0;$i<count($list);$i=$i+1) { if ($list[$i] == "er" || $list[$i] == "og" /*og så videre*/) { //Php-kode her } else { //ja mere php } } //Slutningen på for-loop.
Er der ikke en bare lidt smartere måde, at få den til at gøre den kontrol, end at skrive sådan hele tiden?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
$find = array('er','og','at','af'); //De ord der skal findes foreach ($list as $nr=>$ord) { if (in_array($ord,$find)) { echo "<span style='color:red'>$nr </span>"; //Kode når ord findes } else { echo "<span style='color:blue'>$nr </span>";//Kode når ord ikke findes } }
Du kan osse finde præcis de ord og deres indeksnummer, som du leder efter:
$find = array('er','og','at','af'); //De ord der skal findes $result = array_intersect($list,$find); foreach ($result as $nr=>$ord) { echo "$nr: $ord<br />"; }
Alt efter hvilken kode du ønsker udført, kan du måske osse burge noget rexexp eller lign.
Ok, så er jeg ikke helt med. Ordene du skrev er jo med små bogstaver. Er meningen at den skal finde ordene (med store eller små bogstaver) og lave dem om til små?
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.