Как я могу не сериализировать данные сессии к произвольной переменной в PHP?

Попробуйте сделать крошечный пример, где вы просто хотите усреднить ДВА пикселя. Слева (L) и справа (R). Тогда левый пиксель состоит из R (L), G (L), B (L), A (L), а правый пиксель состоит из R (R), G (R), B (R) и A (R).

Без альфы усреднение синего было бы просто:

(B(L)+B(R)) / 2

Принимая во внимание альфа, оно становится:

(B(L)*A(L)+B(R)*A(R)) / (A(L)+A(R))

Мы можем непосредственно видеть, что в случае полностью сплошные пиксели (альфа = 1), мы получаем точно такую ​​же формулу, как указано выше:

(B(L)*1+B(R)*1) / (1+1)  =  (B(L)+B(R)) / 2

Кроме того, скажем, что правый пиксель полностью прозрачен, а левый сплошной, тогда цветовая составляющая правого пикселя выиграла ' Это никак не повлияет на результат, оставляя результат в точности как левый пиксель, а это именно то, что нам нужно:

(B(L)*1+B(R)*0) / (1+0)  =  (B(L)) / 1  = B(L)

Оба пикселя, будучи полностью прозрачными, становятся вырожденным случаем, который должен обрабатываться некоторым элегантным способом.

Теперь все, что вам нужно сделать, это расширить это за пределы двух пикселей. : -)

11
задан 10 February 2009 в 01:31
поделиться

2 ответа

Проверьте комментарии в руководстве PHP session_decode страница. Это имеет набор функций пользователя для обработки декодирования a session_encode представьте в виде строки вручную. Насколько я знаю, это - единственный способ пойти.

7
ответ дан 3 December 2019 в 05:14
поделиться

Почему Вы просто не делаете чего-то вроде этого?

$myVariable = serialize($_SESSION);
$sessionCopy = unserialize($myVariable);

Удачи!

-9
ответ дан 3 December 2019 в 05:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: