这有意义 - 功能吗?

时间:2011-05-18 09:07:09

标签: php smarty

function recurCalc($price){
  $data = array();
  $data['recurafter'] = $price * 0.3;
  $data['recurtrial'] = $price - ($recurafter*2);
  return $data;
}
$data = recurCalc($product_price);
view()->assign("price",$product_price);
view()->assign("recurtrial" $data['recurtrial']);
    
view()->assign("recurafter", $data['recurafter']);

我正在努力使这个功能起作用,但它给了我一个问题:

view()->assign("recurtrial" $data['recurtrial']);
 --> view()->assign("recurtrial" $data['recurtrial']);

我不是特别擅长阵列。它放在index.php中,而聪明的东西将放在由pinnaclecart呈现的html文件中。

如果你能提供帮助,我将不胜感激。

5 个答案:

答案 0 :(得分:3)

array是一个关键字,不能用作类(名称)。

$data = new Array();

你可能想要的是一个普通的数组

$data = array()

请在此处阅读:http://php.net/language.types.array

答案 1 :(得分:2)

在这种情况下,请勿使用new关键字。

答案 2 :(得分:1)

在PHP中声明数组的常用方法是

$data = array();

$data = array(
    'recurafter' => $price * 0.3,
    'recurtrial' =>  $price - ($recurafter*2),
);

我认为这更好:

function recurCalc($price){
  $recurafter = $price * 0.3;
  $recurtrial = $price - ($recurafter*2);

  $data = array( 'recurafter'=>$recurafter, 'recurtrial'=>$recurtrial);
  return $data
};

答案 3 :(得分:1)

你明显的问题是你试图从一个函数返回多个值。尝试为每个值使用单独的函数:

 function recurAfter($price) { return $price * 0.3; }
 function recurTrial($price) { return $price - recurAfter($price); }

 view()->assign("price", $product_price);
 view()->assign("recurtrial", recurTrial($product_price));
 view()->assign("recurafter", recurAfter($product_price));

答案 4 :(得分:0)

可能最好只做

$data = Array();

至于功能......很难说出它在多大程度上脱离了背景,但它会起作用。