Problem z przeszukiwaniem tablicy array_search

0

Na stronie mam tablice dwuwymiarową jako zmienną sesji np. print_r ($_SESSION['koszyk']); zwraca mi:

Produkt: 3.712901007
Key: 
Array
(
    [0] => Array
        (
            [0] => 0
            [1] => 3.712901005
            [2] => 1
        )

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

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

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

)

Czyli są dwa takie rekordy które maja taką samą wartość w [][1] wierszu.

Ta funkcja powinna temu zapobiegać jednak, zmienna $key nigdy mi się nie wyświetla czyli nie znajduje mi powtórzeń chociaż powinno.

if($produkt)
	{
		$tmp = array();
		$tmp[0] = 0;
		$tmp[1] = $produkt;
		$tmp[2] = 1;
		
		
		$key = array_search($produkt, $_SESSION['koszyk']);
		echo "Produkt: ".$produkt;
		echo "Key: ".$key;
		print_r ($_SESSION['koszyk']);
		
		if($key)
		{
			$_SESSION['koszyk'][$key][2]++;
		}
		else
		{
			$_SESSION['koszyk'][] = $tmp;
		}
		
	}

Tak jakby funkcja array_search w ogóle nie działała. Może do tablicy wielowymiarowej jest jakaś inna funkcja? Albo inaczej się ją przeszukuje?

0

Kolego, funkcja array_search zwraca TRUE jeżeli znajdzie w tablicy szukany argument. Ta funkcja nie wyszukuje duplikatów.

Polecam zaglądanie do źródła.

1 użytkowników online, w tym zalogowanych: 0, gości: 1