Sortieren?

rtky_Trunks

Mitglied
Sortieren? Shop- Warenkorb

hi,


Ich hoff ihr könnt mir weiter helfen.

Ich hab mehrere variablen deklrariert zbs.:

$1 = '123';
$2 = '566';
$3 = '657';
$4 = '657';

wie ihr seht haben $3 und $4 den gleichen Wert. jetzt nun
Wie kann ich diese sortieren das nacher zbs. da steht:

über sicht:
123 ist 1mal vorhanden.
566 ist 1mal vorhanden.
657 ist 2mal vorhanden.

?

danke schonmal
 
Zuletzt bearbeitet:
Am besten, Du schreibst die Variablenwerte in ein [phpf]Array[/phpf].
Dann kannst Du mit [phpf]array_count_values[/phpf] zählen lassen.
Das Ergebnis kannst Du mit einer der verschiedenen Sortierfunktionen ([phpf]arsort[/phpf], [phpf]asort[/phpf], [phpf]krsort[/phpf], [phpf]ksort[/phpf], [phpf]sort[/phpf], [phpf]uasort[/phpf], [phpf]uksort[/phpf], [phpf]usort[/phpf], [phpf]natcasesort[/phpf], [phpf]natsort[/phpf]) sortieren lassen.
Dann kannst Du die Ergebnisse in einer [phpf]foreach[/phpf]-Schleife nach Deinen Wünschen ausgeben lassen.
 
ich habs in einem array das heißt



$daten[];

in den daten sind jetzt zbs.:
$daten[1] = '123'
$daten[2] = '124'
$daten[3] = '123'

wie kann ich das jetzt genau sortieren
Kannst du mir mal nen code schreiben?
 
sry, aber ich blick das alles nicht.
Könnt ihr mir ein beispiel geben?
ich hab jetzt ein array: $cookie[] <-heißt so
und in dem sind mehrer nummer gespeichert
$cookie[1] ='2'
$cookie[2] ='2'
$cookie[3] ='3'

wie kann ich jetzt nochmal das irgendwie zusammen fassen das da steht

2 ist 2 mal vorhanden
3 ist 1 mal vorhanden

Bitte ein beispiel, Ich raff es wirklich auf keinem auge
 
PHP:
<?
$cookie[1] ='2';
$cookie[2] ='2';
$cookie[3] ='3';
print_r(array_count_values ($cookie));
?>
Ausgabe:
Array ( [2] => 2 [3] => 1 )



PHP:
<?
$cookie[1] ='2';
$cookie[2] ='2';
$cookie[3] ='3';
$cookie = array_count_values($cookie);
foreach ($cookie as $key => $value) {
echo "Schlüssel: $key; Wert: $value<br />\n";
}
?>
Ausgabe:
Schlüssel: 2; Wert: 2
Schlüssel: 3; Wert: 1



PHP:
<?
$cookie[1] ='2';
$cookie[2] ='2';
$cookie[3] ='3';
$cookie = array_count_values($cookie);
foreach ($cookie as $key => $value) {
echo "$key ist $value mal vorhanden<br />\n";
}
?>
Ausgabe:
2 ist 2 mal vorhanden
3 ist 1 mal vorhanden
 
Zuletzt bearbeitet:
bei mir geht das irgendwie nicht so wie es soll.
Es ist so ich mach gerade ein online-shop.

und wenn man etwas in den warenkorb legt. dann wird die bestellnummer des artikels in das cookie gespeichert.
wenn ein weitere artikel dazu kommt wird der
bestehende inhalt (also die artikelnummer) +" : "+ die neu gemacht

also hat man 1 artikel in den warenkorb gelegt wird ins cookie der
wert zbs: 34168 gespeichert
wenn jetzt ein weiterer hinzukommt wird
das cookie überschrieben mit
34168 + " : " + (zbs.: )12265
="34168 : 12265"

wenn ich jetzt das cookie wieder ausgeben lassen will, also im Menü Warenkorb.
dann nimm ich den befehl
$cookie = explode(":",$warenkorb);
nun hab ich ja aus der variable $cookie ein array gemacht oder?

und die ausgabe ist wie folgt:

$zahl ='1';
while ($cookie[$zahl]!='')
{
echo $zahl.": ".$cookie[$zahl]."<br>";
$zahl = $zahl+1;
}

nun hab ich das oben genannte problem
wenn zum beispiel: $cookie[1] und $cookie[3] den gleichen wert haben dann
kommt der einfach nochmal dazu, also steht 2 mal da, aber ich will nicht das dann
da steht:
(werte: sind zbs: $cookie[1]= 2; $cookie[2]=1; $cookie[3]=2)
2
1
2
sonder: ich will dass, das hier steht:
2 : menge =2
1 : menge =1

Ich hoff ihr könnt mir helfen
 
Zurück