ECshop订单二次开发

2016-07-07 15:01 来源:www.chinab4c.com 作者:ecshop专家


今天在提交订单的时候遇到这个问题
我加入了一个数组进行计算怎么解决啊 很急的 !!!
求高手指点!!

回答:
那肯定是你的计算有误呗~仔细检查~或者贴出代码~大家一起检查

1、请确认传给 array_sum() 的参数是一个数组 - 根据警告信息,参数应该是一个数组
2、确认在传给array_sum() 之前,这个参数没有变成其他非数组类型 - 比如,你确定是数组,但是后面的一些代码导致这个变量变成了其他类型。

最好是贴段相关的代码,好分析错误。

EC真的很强大

if($array){
}

加个判断

foreach($params as $Table){
$money= $Table->getElementsByTagName("*");
//echo $elements->item(1)->nodeName;
$all = $money->item(1) -> nodeValue;
$sum[] = $all;
var_dump ($sum);
}
if(!empty($sum))
{
$sums = array_sum($sum);
}
else{
$sums = 0;
}
我已经写成这样了

是的...在XML里边取的数据!我把代码贴出来
  1. if(function_exists('file_get_contents')) {
  2. $file_in = file_get_contents($url);//读取流
  3. } else {
  4. $ch = curl_init();
  5. $timeout = 5;
  6. curl_setopt ($ch, CURLOPT_URL, $url);
  7. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  8. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  9. $file_in = curl_exec($ch);
  10. curl_close($ch);
  11. }
  12. $doc = new DOMDocument('1.0'); //创建dom对象
  13. $doc -> loadXML($file_in);//加载xml
  14. $params =$doc->getElementsByTagName("Table");//通过节点名字获取节点对象NewDataSet

  15. for($i=0;$i<$params->length;$i++){
  16. $elements = $params->item($i)->getElementsByTagName("*");
  17. $all = $elements->item(1) -> nodeValue;
  18. $sum+= $all;
  19. }
复制代码
现在不报错了,但是那个$all取不出来里边的数据!

自己解决了  单独写个页面  去调用不就完了!