У меня есть массив сеансов PHP, где его можно считать многомерным массивом, в основном я пытаюсь хранить данные внутри своего массива сеансов, и я успешно получаю эту часть задачи. Основная проблема заключается в том, что я не могу их отследить, и я должен использовать var_dump. Когда я пытаюсь распечатать их с помощью эха, я получил уведомление, в котором говорится о преобразовании массива в строку. Пожалуйста, помогите мне оценить, как печатать их со своими конкретными ключами или значениями. Код следующим образом:Многомерный сеанс php array echoing
if (!is_array($_SESSION['products']['names'])){
$_SESSION['products']['names'] = array();
$_SESSION['products']['names']['prices']= array();
}else {
$pros = $_SESSION['products']['names'];
if (in_array($product->getName(), $pros, true)){
echo 'The product is available in your basket';
} else {
array_push($_SESSION['products']['names'],$product->getName());
array_push($_SESSION['products']['names']['prices'], $product->getPrice(Currency::getCurrentCurrency()));
foreach ($_SESSION['products'] as $val){
echo $val['names'];
echo $val['prices'];
}
}
}
выход, который я получаю следующим образом:
Примечание: Undefined индекс: имена в
Массив для преобразования строки в
'print_r' печатает переменную совершенен. На какой строке этого кода вы столкнулись с проблемой? –
Линия print_r, потому что она печатает ее с кавычками, где я не хочу, чтобы это было действительно. Поскольку эхо помогает распечатать его более четко и как я хочу напечатать –
'echo' печатает только строки. Массив не является строкой. Вы должны использовать 'foreach' и печатать каждый элемент вашего массива. –