【发布时间】:2013-11-07 14:16:40
【问题描述】:
我正在尝试了解如何解决此错误。
警告:prev() 期望参数 1 是数组,字符串在
它在下面的 if 语句中。这是因为第一个值没有以前的值而发生这种情况,我需要处理这种情况吗?奇怪的是,这在常规 .php 中有效,但在我现在拥有的框架中无效。
我正在尝试根据为查询返回的结果集生成 XML 文件。 (我愿意接受更好的想法)
$export.= '<Campaigns>';
while ($line = mysql_fetch_assoc($result) ) {
//echo '<Email Timestamp="' . $line['EmailTimeStamp'] . '" ';
$export.= '<Campaign Info="' . $line['EmailTrackingNumber'] . '" EmailId="' .$line['EmailId'] . '">';
$export.= '<Emails>';
if (prev($line['EmailTrackingNumber']) == current($line['EmailTrackingNumber'])) {
$export.= '<Email Timestamp="' . $line['EmailTimeStamp'] . '" ';
$export.= 'City="' . $line['City'] . '" ';
$export.= 'Zip="' . $line['Zip'] . '"';
}
$export.= '</Emails></Campaign>';
}
$export.= '</Campaigns></EmailTrackingData>';
//echo $export;
file_put_contents('DateOfFile-export.xml', $export);
【问题讨论】:
-
发生这种情况是因为您将一个字符串传递给
prev(),并且它需要一个数组。在这种情况下,如果我正确理解您的代码,您将尝试根据此数据库行中的变量是否已更改来输出内容 - 您只需将前一次循环迭代中的变量保存在某处并将它们与当前变量进行比较.
标签: php