我有一个输出一些数据的页面(page1.php)。另外我还有另一个页面(page2.php),我也需要传递值。
// page1.php
$myVals = '""';
foreach($values as $name) {
$myVals .= ',"'.( strlen($name) ? htmlspecialchars($name) : ' ').'"';
}
$_SESSION['myVals'] = $myVals;
在page2.php上我需要将myVals放入以下字符串中:
$xls->addRow(Array("First Name","Last Name","Website","ID"));
xls文件头应该有单独的值。目前,如果我将其中的字符串放入其中,则将其解释为单个值。
$xls->addRow(Array($_SESSION['myVals']));
我错过了什么?
答案 0 :(得分:1)
请注意
array("First Name","Last Name","Website","ID")
与
不同array('"First Name","Last Name","Website","ID"')
第一个创建一个包含四个元素的数组,而第二个创建一个只包含一个元素的数组,因为逗号是字符串的一部分,而不是array()
语句的一部分。调用array($_SESSION['myVals'])
等同于第二个示例,因为$_SESSION['myVals']
只是字符串。
你应该创建一个合适的数组:
$myVals = array();
foreach($values as $name) {
$myVals[] = strlen($name) ? htmlspecialchars($name) : ' ';
}
$_SESSION['myVals'] = $myVals;
并将此内容传递给$xls->addRow()
:
$xls->addRow($_SESSION['myVals']);
答案 1 :(得分:1)
为什么不将它作为数组存储在page1中?
第1页:
foreach($values as $name) {
$_SESSION['myVals'][] = strlen($name) ? htmlspecialchars($name) : ' ';
}
2页:
$xls->addRow($_SESSION['myVals']);