2 Stimmen

Zählung der Anzahl ähnlicher Elemente im Array, Rückgabewert bei weniger als 3

Ich habe ein Array, das Sätze von drei ähnlich benannten Elementen enthält; manchmal gibt es jedoch nur zwei Elemente in einem Satz und ich möchte diese aufrufen.

<?php
$items = array(
'reviewpitfighter-1.138x88.jpg',
'reviewpitfighter-2.138x88.jpg',
'reviewpopfulmailsegacd-1.138x92.jpg',
'reviewpopfulmailsegacd-2.138x76.jpg',
'reviewpopfulmailsegacd-3.138x97.jpg'
);
?>

Sie werden feststellen, dass es zwei Artikel reviewpitfigher* und drei Artikel reviewpopfulmailsegacd* gibt. Ich habe mich in ein Kaninchenloch von Schleifen begeben und habe das Gefühl, dass es etwas Einfaches gibt, das ich nur überfliege.

1voto

Deepak Punkte 6458

Möglicherweise können Sie dies in 2 Schritten tun.

Stufe 1:

Das ursprüngliche Array wird in einer Schleife durchlaufen und eine weitere Gruppe von Arrays gebildet, deren Schlüssel der Wert des ursprünglichen Arrays ist. Dann speichern Sie die Anzahl der Wiederholungen in jedem dieser neuen Arrays.

Stufe 2:

Schleife durch den neuen Satz von Arrays und dann wählen Sie die Arrays, die Werte weniger als 3 hat und rufen Sie seine Schlüssel.

Hoffentlich hilft das!!

0voto

Hier ist die Lösung, die ich gefunden habe. Tut mir leid, dass es so lange gedauert hat, sie zu posten.

foreach($images as $value){
    $lastItem = explode('-', $images[$count - 1]);
    $parts = explode('-', $value);
    if(preg_match('/^1/', $parts[1]) && $count != 0){
        if(preg_match('/^2/',$lastItem[1])){
            $imgurl = preg_replace('/^p?review/','',$lastItem[0]);
            $sql = 'SELECT field FROM table WHERE field = "' . $imgurl . '"';
            $result = $dbConn->FetchArray($dbConn->Query($sql), MYSQL_ASSOC);
            $array[$imgurl] = $result;
        }
    }
    $count++;
}

Ich erhalte ein Array mit allen Bildern, dann prüfe ich, ob ich das erste Bild anschaue, und wenn ja, dann sehe ich, ob das letzte Bild, das ich anschaute, das zweite Bild war. An diesem Punkt rufe ich dann die Datenbank auf, um einige Informationen zu erhalten und eine übersichtliche Meldung darüber anzuzeigen, bei welchen Bewertungen ein drittes Bild fehlt. Zum Schluss $array enthält diese Liste, die ich in einer Schleife abarbeiten kann.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X