Как сохранить возвращаемое значение функции в массиве сеансов в php

Megha Dholakia спросил: 28 апреля 2018 в 09:04 в: php
$tsal[] = $obj->totalsal();$_SESSION['totalsal'] = $tsal;for($i=0; $i<count($tsal); $i++)
{
    echo $tsal[$i];
}

Правильно ли это сохранить значение, возвращаемое функцией в массиве с использованием сеанса?

2 ответа

Krzysztof Janiszewski ответил: 28 апреля 2018 в 12:09

Если вы хотите использовать сеанс, вы всегда должны добавить session_start()

Затем вы можете получить доступ к переменным сеанса.

Если вы хотите итерации по массиву, лучше использовать foreach цикл вместо for

Также эта строка $tsal[]=$obj->totalsal(); создает что-то вроде этого

$tsal = [0 => $obj->totalsal()];

Это бессмысленно, просто выполните: $tsal = $obj->totalsal();

$tsal = $obj->totalsal();$_SESSION['totalsal'] = $tsal;foreach ($tsal as $tsalElement) {
    echo $tsalElement;
}
wayneOS ответил: 28 апреля 2018 в 09:17

Да, вы можете использовать $_SESSION для хранения данных в PHP-сессии. Однако вам нужно сначала инициализировать / запустить сеанс, чтобы это работало. Используйте start_session() поверх каждого скрипта, который вы хотите сохранить / получить доступ к данным сеанса. Для получения дополнительной информации смотрите здесь

<?phpsession_start (); // now session data is available$_SESSION['totalsal'] = $tsal;...?>

На другом скрипте вы можете получить доступ к своим данным с помощью

<?phpsession_start ();for ($i = 0; $i < count ($_SESSION['totalsal']); $i++)
    echo $_SESSION['totalsal'][$i];...?>
Megha Dholakia ответил: 28 апреля 2018 в 09:14
я не могу получить результат
wayneOS ответил: 28 апреля 2018 в 09:15
@MeghaDholakia, пожалуйста, более конкретно. какого результата вы не получите?
Megha Dholakia ответил: 28 апреля 2018 в 10:00
function totalsal () {$ tsal = $ this- > fsal () + $ this- > bonus (); return $ tsal; } это моя функция, и я сохраняю возвращаемое значение $ tsal как tsal [] = $ obj- > totalsal ();
Megha Dholakia ответил: 28 апреля 2018 в 10:00
теперь я сохраняю значение $ tal как $ _SESSION ['totalsal'] = $ tsal;
Megha Dholakia ответил: 28 апреля 2018 в 10:00
но когда я пытаюсь ввести новое значение, предыдущее значение не сохраняется