| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Gast
Beiträge: n/a
| Bin mir nicht sicher, ob Dir das ausreicht, aber... PHP-Code: |
| | |
| Gast
Beiträge: n/a
| @Volker: Hi Volker, vielken Dank für Deinen Hinweis. Nach einiger Fummelei habe ich es Dank Deiner Hilfe hinbekommen. Die Zeile Code: @$count1[ $d[1] ] += 1; Außerdem habe ich immer noch meine Probleme mit Arrays. Kennt nicht jemand ein wirklich gutes Tutorial? Außerdem ist meiner Meinung nach nicht immer der Weg das Ziel! Mein Weg zum Ziel (siehe Code) sieht äußerst umständlich aus. Hat nicht zufällig jemand Lust, mir ein paar Tipps zu geben, was man hier besser hätte machen können? Code: <?php
$result = mysql_query("SELECT * FROM subnav WHERE state = '".$HTTP_GET_VARS['state']."' ;");
while ( $tab = mysql_fetch_array($result) )
{
$rez[] = array($tab['name_1'], $tab['iddep_1'], $tab['url'], $tab['id_1']);
}
$cid=0;
$anz = $rez;
$count1 = array();
foreach($anz as $d)
@$count1[ $d[1] ] += 1;
for ($tt=0;$tt<sizeof($rez);$tt++)
{
if ($rez[$tt][1]!=$cid)
{
$counter2=0;
$cid=$rez[$tt][1];
$result = mysql_fetch_array(mysql_query("SELECT * FROM hautnav WHERE hautnav.id_1= '".$rez[$tt][1]."' ;"));
echo "<span class=\"contentISP\">";
echo $result['name_1']."
\n";
} $counter2 = $counter2+1;
echo " <a href=\"".$rez[$tt][2].".php?state=".$HTTP_GET_VARS['state']."\">".$rez[$tt][0]."</a>
\n";
if ($counter2==$count1[$cid])
{
echo "</span>";
}
}
?>
|
| | |
| Gast
Beiträge: n/a
| $d nimmt bei jeden Durchlauf der foreach-Schleife den Wert des aktuellen Elements an. Im Beispiel also das jeweilige Feld in der zweiten Dimension. Beim ersten Durchlauf im Beipiel array(1=>'7') $d[1] liefert also den Wert, dessen Vorkommen/Häufigkeit Du zählen willst. Im Beispiel beim ersten Druchlauf den Wert 7. Der Zähler für das Vorkommen von 7 muss demnach um eins erhöht werden. $count1 speichert die Vorkommen aller Werte. Beim ersten Durchlauf muss $count1[7] um eins erhöht werden. $d[1] liefert diesen (Index-)Wert =>$count1[ $d[1] ] += 1; php gibt eine Warnung aus, wenn man lesend auf ein Feldelement zugreift, das es (noch) nicht gibt. Das @-Zeichen vor dem Bezeichner unterdrückt diese Warnung. Beim ersten Durchlauf gibt es $d[7] nicht; php würde eine Warnung auswerfen und den Wert von $d[7] als NULL annehmen. Glücklicherweise ist bei php NULL+1 = 1, genau das gewünschte Verhalten und die Warnung ist überflüssig => @$count1[ $d[1] ] += 1; Nicht ganz sauber, aber praktikabel - denke ich. -- Wenn Du die Einträge nach der ersten Spalte (dank SELECT * kann ich Dir nicht sagen, welche das ist) sortiert abfragst (also SELECT ... ORDER BY nameDesFeldes), reicht es Dir doch aus, wenn Du vergleichst, ob der aktuelle Wert gleich dem vorherigen ist. Wenn nicht, fängst Du einen neuen Abschnitt an. |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Turnierbaum aus array erstellen | kingflo | PHP-Fortgeschrittene | 11 | 30.07.2008 11:32 |
| Doppelte Einträge aus Array Filtern | Robstar | Datenbanken | 25 | 01.06.2006 11:56 |
| array oder mehrere werte als rückgabe | PHP Tipps 2006 | 17 | 02.03.2006 21:27 | |
| Array auslesen | andrew22 | PHP Tipps 2006 | 3 | 21.01.2006 23:06 |
| Array Formatierung | PHP Tipps 2006 | 3 | 17.01.2006 19:12 | |
| Array Filtern? | PHP Tipps 2007 | 3 | 19.12.2005 17:18 | |
| Menü mit Unterpunkten | supertramp | Beitragsarchiv | 7 | 18.10.2005 22:40 |
| Problem beim vergleichen von 2 Arrays | PHP Tipps 2005-2 | 1 | 06.10.2005 14:25 | |
| Alle Werte eines Array mischen | PHP Tipps 2005-2 | 2 | 28.07.2005 17:37 | |
| Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) | Buhmann | PHP-Fortgeschrittene | 4 | 12.07.2005 14:03 |
| [Erledigt] $_SESSION: Array Werte werden nicht gespeichert. | PHP-Fortgeschrittene | 11 | 11.05.2005 23:13 | |
| array in array filtern, kopieren oder irgendwas, das hilft | PHP Tipps 2005 | 2 | 14.04.2005 12:10 | |
| [Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln | PHP-Fortgeschrittene | 3 | 03.01.2005 22:31 | |
| Abfrage mit id aus anderer Tabelle | suter | PHP Tipps 2004-2 | 15 | 16.12.2004 14:25 |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| php array filtern, http://www.php.de/php-tipps-2004/7226-werte-aus-mehr-dim-array-filtern-und-zaehlen.html, php array filter, php filter array, php multidimensional array zählen, php array wert zählen, array filtern php, filter array php, php dim, häufigkeit im array zählen php, array php häufigkeit zählen, foreach zählen php, php array vorkommen verschiedene string zählen, php liste filtern, php tutorial array filtern, zeilen eines arrays zählen php, php array 2 dimensional filtern, php array filter with foreach, php array werte filtern, elemente mehrdimensionales arrays zählen |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.