[PHP] - Dodawanie wartosci do sesji, daje inny wynik, aniżeli do zwykłej tablicy

private function _doRedirect()
	{
		$arr = [];
		
		for($i = 0; $i < count($this->properties); $i++)
		{
			$key = array_keys($this->properties)[$i];
			$value = array_values($this->properties)[$i];
			Session::set($key, $value);
		}

		echo "<pre>" , print_r($this->properties);

		echo print_r($_SESSION) , "</pre>";
		exit();

	}

Ten kod, daje taki wynik - http://gyazo.com/ce92f123cfa124748c26755e3ae41c41

private function _doRedirect()
	{
		$arr = [];

		for($i = 0; $i < count($this->properties); $i++)
		{
			$key = array_keys($this->properties)[$i];
			$value = array_values($this->properties)[$i];
			$arr[$key] = $value;
		}

		echo "<pre>" , print_r($this->properties) , "</pre>";

		echo "<pre>" , print_r($arr) , "</pre>";
		exit();

	}

natomiast ten, taki - http://gyazo.com/3e2eb2793f85c10cba9ffe395eff9755

 

metoda Session::set()

public static function set($key, $value)
    {
    	$_SESSION[$key] = $value;
    }

W ogóle nie wiem jak to możliwe :confused:

Z tego co podałeś wynika, że gdzieś wcześniej wrzucasz do sesji ($_SESSION) jakiś string (ten komunikat) i potem otrzymujesz taki “dziwny” wynik.

Wyświetl najpierw zawartość sesji przed logika Twojej funkcji. Upewnij się że session nie zawiera nic, i potem sprawdzić wynik.