2016-04-28 3 views
-1

У меня есть функция с эталонным параметром. Функция заполняет ссылку массивом. Когда он возвращает Испытываю опорное значение с print_r(). Это успешно. Но когда я пытаюсь назначить его другому var, как в,Как назначить массив переменной в php

$_SESSION['allvats'] = $ref_all_vats; 

Я получаю пустой сеанс var. Как это назначить? Я попытался объявить ссылку как массив перед вызовом функции, а также назначить сеансам как

$_SESSION['allvats'][] = $ref_all_vats; 

Спасибо.

Редактировать.

Сессия работает. Остаются другие засечки СЕССИИ. Вот код немного:

if(buildMetalArrayNsp($process_id, $ref_all_vats)) { 
     writeDataToFile("vats " . print_r($ref_all_vats, true), __FILE__, __LINE__); 
     $_SESSION['allvats'] = $ref_all_vats; 
    } 

Вот код сеанса:

$lifetime= 60 * 60 * 24 * 30; // 30 days 
session_start(); 
setcookie(session_name(),session_id(),time()+$lifetime); 
+0

Покажите нам больше кода. –

+0

"empty session var"? Где? когда? В другом сценарии? вы помнили 'session_start()' в обоих сценариях? –

+0

Если ваш массив уже находится в '$ ref_all_vats', вы уже назначили его переменной; ваша проблема не в этом; но одна строка isn; t действительно достаточно кода для определения того, что может быть –

ответ

-1

Ваш код в порядке, есть что-то еще не так. Вы уверены, что оператор if оценивает значение true? Всякий раз, когда вы отслеживаете ошибки, полезно использовать echo или print_r совсем немного. Например:

echo "<pre>Above if\n"; 
if(buildMetalArrayNsp($process_id, $ref_all_vats)) { 
    echo "In if\n"; 
    $_SESSION['hello'] = "world"; 
    $_SESSION['allvats'] = $ref_all_vats; 
} 
echo "Below if\n"; 

echo "\n-----------------------\n"; 
echo $_SESSION['hello']; 
echo "\n-----------------------\n"; 
print_r($_SESSION['allvats']); 
echo "\n-----------------------\n"; 
print_r($ref_all_vats); 
echo "</pre>"; 

Конечно, если вы не отображаются на веб-странице удалить <pre> теги.

0

Попробуйте как этот

session_start(); 
$_SESSION['allvats'] = $ref_all_vats; 
0
list($firstVar, $secondVar) = explode(' ', 'Foo Bar'); 

list() является то, что вы после этого.

Смежные вопросы