【发布时间】:2015-11-26 01:03:42
【问题描述】:
我有一个 PHP 会话数组,它可以算作多维数组,基本上我正在尝试将数据存储在我的会话数组中,并且我成功地获得了任务的那部分。主要问题是,我无法具体回应它们,我必须使用 var_dump。当我尝试用 echo 打印它们时,我收到一条通知,上面写着数组到字符串的转换。请任何帮助我将不胜感激如何使用他们自己的特定键或值打印它们。代码如下:
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'];
}
}
}
我收到的输出如下:
注意:未定义的索引:名称在
数组到字符串的转换
【问题讨论】:
-
print_r打印变量完美。你在这段代码的哪一行遇到了问题? -
print_r 行,因为它用引号打印它,我不希望它是真的。因为 echo 有助于更清楚地打印它以及我想要打印的方式
-
echo仅打印字符串。数组不是字符串。您必须使用foreach并打印数组中的每一项。 -
这就是我实际上想要做的事情,你能帮我看看我如何用 foreach 打印它们
标签: php arrays session multidimensional-array echo