Преобразовать все значения сеанса в строку - PullRequest
0 голосов
/ 03 января 2012

Привет, у меня много значений сеанса в моем проекте, и я использую синтаксис для сеанса

$_SESSION['username'] = $somevalue;

это реализовано на майских страницах около 2000 страниц. теперь я хочу заменить эту вещь на

$_SESSION['username'] = (string)$somevalue

на всех страницах одновременно. Как я могу сделать это во сне. Помогите мне, пожалуйста. на моих страницах используется много разных значений сеанса.

Есть ли способ конвертировать все значения сеанса в строку одновременно. я имею в виду любой метод регулярных выражений, такой как $ _SESSION [. ] = (строка), как этот или любой другой метод. пожалуйста, скажите мне.

Спасибо.

Ответы [ 3 ]

1 голос
/ 03 января 2012

Это зависит от того, какая у вас версия PHP.Для> = 5.3 используйте версию Питера, для <5.3 используйте </p>

function stringify($item)
{
    return (string)$item;
}

$_SESSION = array_map('stringify', $_SESSION);
1 голос
/ 03 января 2012

array_map функция, вероятно, то, что вы ищете:

$_SESSION = array_map(function($item) { return (string)$item; }, $_SESSION);

PHP 5.3 требуется для анонимной функции, в более ранних версиях вы должны передавать имя функции в качестве первого аргумента.

0 голосов
/ 03 января 2012

На всякий случай, если вы захотите его в ваших файлах кода 2000 вместо преобразования значений во время выполнения в вашем скрипте: не знаю, поддерживает ли Dreamweaver поиск и замену регулярных выражений и какие символы обратной ссылки. Но попробуйте заменить это

\$_SESSION\['[^']+'\]\s*=\s*

с этим:

$0(string)

$0 - это обратная ссылка на соответствующий шаблон. Если это не сработает, попробуйте \0 или \\0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...