这是否有意义 - 功能?
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中,而smarty的东西将放在由pinnaclecart呈现的html文件中。
如果您能提供帮助,我将不胜感激。
您的明显的问题是,你试图从一个函数返回多个值。尝试对每个值使用单独的函数:
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));
array
是关键字,不能用作类(名称)。
$data = new Array();
你可能想要的是一个共同的阵列
$data = array()
@KingCrunch,所以如果我想将数据保存在数组中,它必须是$ data = Array()?或者它是$ data [] = Array();?对不起,我对数组感到困惑 – joe 2011-05-18 09:11:54
像我写的:'$ data = array()'。用'$ data []'你可以访问数组,但是为此,它必须是数组之前;) – KingCrunch 2011-05-18 09:13:01
@KingCrunch,哦好吧,array()存储数据信息,而[]允许我从数组中获取数据。得到它了。 – joe 2011-05-18 09:16:57
不要使用new
关键字出现这种情况。
你想创建一个数组。在php中,正确的语法是'$ data = array();' – Mr47 2011-05-18 09:11:47
使用'new'你可以从给定的类名实例化一个新的对象。数组不是PHP中的对象。 – KingCrunch 2011-05-18 09:11:52
可能最好只是做
$data = Array();
至于功能上......很难说多少常识让断章取义,但它会奏效。
在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
};
您应该永远不要切断错误消息。 – KingCrunch 2011-05-18 09:11:19
@KingCrunch,你是什么意思? – joe 2011-05-18 09:14:58
你有另一个问题:变量'$ recurafter'未设置。你可能意思是'$ data ['recurafter']' – Zecc 2011-05-18 09:16:22