2016-12-20 1 views
0

Ich habe eine Session-Variable namens $_SESSION['items'], die ein Array ist. Es speichert Elemente in Arrays innerhalb des Arrays. Beispiel:Verwirrt mit Sitzung und Array

Array ([0] => Array ([0] => 2 [1] => 1)) 

Dies zeigt, dass 1 von Produkt 2 im Elementarray vorhanden ist.

Array ([0] => Array ([0] => 2 [1] => 1) [1] => Array ([0] => 4 [1] => 1)) 

Dies zeigt, dass 1 von Artikel 2, und 1 von Artikel 4 im Element-Array ..

Wie so überprüfe ich, ob eine bestimmte Variable in den Array-Elementen ist? Zum Beispiel muss ich wissen, ob Element 4 oder Element 1 in diesem Array ist, sodass ich dem Benutzer eine andere Seite anzeigen kann, je nachdem, ob sie dieses Element in ihrem Array haben oder nicht. Ich bin so verwirrt mit Arrays, dass ich immer undefinierte Offsets und ähnliches nenne.

+0

Sie benötigen eine Schleife, wie Foreach. – Evert

+0

Lesen Sie mehr über PHP-Arrays: http://php.net/manual/en/language.types.array.php – axiac

+1

'foreach ($ _ SESSION ['items'] als $ key => $ item) {}' so ? – Kaboom

Antwort

2

Ich habe es herausgefunden. hatte ein Gehirn furzen. Dank

foreach($_SESSION['items'] as $key => $item) { 
    if($item[0] == $item_id) { 
     echo "ITEM IS IN HERE"; 
    } 
} 

// Versuchen Array suchen guter Weg

+0

sehen Sie den array_search optimierten Weg – webDev

1

Versuchen Sie es mit dieser folgenden wird Ihnen helfen, die Position zu bekommen, wo nichts gefunden und zurück, wenn nicht

gefunden

Sie nicht bis zur Schleife benötigen.

// this will search $item_id in $_SESSION['items'] 
$key = array_search($item_id, array_column($_SESSION['items'], 0)); //here 0 is position, see array_search 
print_r($key); 
if($key){ 
//yes found at key so that you can easily get that item again without looping 
}