php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.01.2005, 18:55  
Gast
 
Beiträge: n/a
Standard Array prüfen ob wert vorhanden, wenn ja, wert ändern...

Hallo Leute, ich hab folgenden Quellcode

PHP-Code:
 $vorhanden=0;
        
//Artikel schon in Warenkorb?
        
for($i=0;$i<sizeof($_SESSION['Warenkorb']);$i++)
        {
            if(
$_SESSION['Warenkorb'][$i] = $_POST['ArtikelID'])
            {    
//Wenn ja, Anzahl erhöhen
                
$_SESSION['Anzahl'][$i] = $_SESSION['Anzahl'][$i] + $_POST['Anzahl'];
                
$vorhanden=1;
            }
        }
        if(!
$vorhanden)
        {    
//Wenn nicht vorhanden, Hinzufügen
                
$_SESSION['Warenkorb'][]=$_POST['ArtikelID'];
                
//Anzahl in Anzahlarray
                
$_SESSION['Anzahl'][]=$_POST['Anzahl'];
        } 
Wie man vielleicht sieht, geh ich das erste Array durch und schaue ob der über POST eingegangene Wert darin schon enthalten ist, sollte er nicht drin sein wird er angefügt, sollte er drin sein, wird einfach die anzahl erhöht.
Doch das macht dieses Codeschnipsel nicht. Lasse ich mir das Array am Ende ausgeben steht da nur ein Wert drin! Warum? Ich komme nicht klar mit diesen Arrays. Benutzt übrigens PHP4

Danke für eine schnelle Hilfe!

mfg Kaputtmacher
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.01.2005, 18:58  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.781
derHund
Standard

ganz schön verworren, deine strukturen

in_array()
__________________
derHund ist offline  
Alt 31.01.2005, 19:01  
Gast
 
Beiträge: n/a
Standard

na die Arrays werden schon Ordnungsgemäß initialisiert. Daran dürfte es nicht liegen.

PHP-Code:
$_SESSION['Warenkorb']= array();
$_SESSION['Anzahl']= array(); 
Mir stellt sich die Frage, warum der direkte Zugriff nicht funktioniert, bzw. Warum er nichts anhängt.
 
Alt 31.01.2005, 20:55  
Erfahrener Benutzer
 
Registriert seit: 08.06.2004
Beiträge: 865
RudiS
Standard

Zitat:
Zitat von Kaputtmacher
na die Arrays werden schon Ordnungsgemäß initialisiert. Daran dürfte es nicht liegen.

PHP-Code:
$_SESSION['Warenkorb']= array();
$_SESSION['Anzahl']= array(); 
Mir stellt sich die Frage, warum der direkte Zugriff nicht funktioniert, bzw. Warum er nichts anhängt.
Nein, das meinte 'derHund' nicht. Mit der Funktion in_array() kannst du prüfen, ob der gegebene Wert in dem Array vorhanden ist. Dann brauchst du diese for-if Konstruktion nicht mehr.
Beispiel:
Code:
$array = array('a', 'b', 'c');
if (in_array('b', $array))
 {
  echo 'vorhanden';
 }
 else
 {
  echo 'nicht vorhanden';
 }
Das geht natürlich mit beliebigen Werten.
mfg RudiS
__________________
Kunst kommt von Können und nicht von wollen, denn sonst würde es ja Wunst heißen.
RudiS ist offline  
Alt 31.01.2005, 22:32  
Gast
 
Beiträge: n/a
Standard

Ahsoooo, na aber ich hab den Fehler. Er liegt hier:
Code:
 if($_SESSION['Warenkorb'][$i] = $_POST['ArtikelID'])
Da fehlt ein = (typischer Fehler von mir, hätte ich gleich drauf kommen müssen)

das mit in_array() hätte mir glaub nicht viel gebracht, da ich dann nicht weiß an welcher Stelle dieser Artikel im Array steht und ich somit auch nicht seine Anzahl ändern kann. Aber jetzt funzt ja alles.

Ich danke euch für eure Mühe.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
[Erledigt] Hat ein Array einen Wert? silver_surfer PHP Tipps 2008 6 22.06.2008 12:20
Array Schlüssel nehmen den gewünschten Wert nicht an lindner PHP Tipps 2006 3 19.10.2006 19:21
Keys aus Array löschen die keinen Wert beinhalten? PHP Tipps 2006 7 06.04.2006 16:07
Array schlüssel über wert finden Dave Waterstone PHP-Fortgeschrittene 3 29.03.2006 17:54
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
array verarbeitung (schlag auf den hinterkopf) PHP Tipps 2007 9 16.11.2005 11:37
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Einem Array einen Wert hinzufügen PHP Tipps 2005-2 5 14.10.2005 14:50
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
[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
[Erledigt] Wert aus einem Array löschen PHP Tipps 2004 1 29.08.2004 22:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-tipps-2005/17039-array-pruefen-ob-wert-vorhanden-wenn-ja-wert-aendern.html, php prüfen ob array element existiert, javascript prüfen ob wert in array, c# array überprüfen, php prüfen ob key in array, c , php array prüfen ob wert vorhanden, javascript prüfen ob array element existiert, php if wert vorhanden, php prüfen ob array key existiert, c# prüfen ob string in array enthalten ist, c# prüfen ob string in array, c# array inhalt überprüfen, array auf inhalt prüfen c#, php array element bereits vorhanden, javascript prüfen ob array element vorhanden, javascript prüfen ob arrayelemnt existiert, php prüfen ob wert in array, php prüfen ob element in array existiert, php array prüfen ob element existiert

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:02 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.