我想将函数值传递给同一个类中的另一个函数,比如将一些值存储在变量中,然后在同一个类中的另一个函数中调用此变量。
这是我的代码
public function ven_coupon()
{
if ($_POST) {
$number = $_POST['coupon'];
$query = $this->front->ven_coupon($number);
if (count($query) <= 0 ) {
echo "Not Valid";
}
$payment = $this->cart->total();
$dis = $query['discount'];
$name = $query['username'];
$number = $query['number'];
$discount['discount'] = ($payment*$dis)/100;
$discount['data'] = $dis;
$this->load->view('checkout',$discount);
}
}
public function addcart()
{
$ven = $this->ven_coupon();
echo $ven($name);
echo $ven($dis);
echo $ven($number);
}
答案 0 :(得分:0)
您的函数ven_coupon()
没有返回任何内容,因此当您在函数addcart()中读取它时,$ven
为空。
为了将多个变量从一个函数传递到另一个函数,您需要创建一个数组。
function ven_coupon(){
$dis = $query['discount'];
$name = $query['username'];
$data=array('dis'=>$dis,'name'=>$name)
return $data
}
function addcart()
{
$ven = $this->ven_coupon();
echo $ven['name'];
//etc.
}
编辑:因为您已经在使用数组$query
,所以您可以在函数ven_coupon中使用return $query;
,然后在函数addcart()中读取它
答案 1 :(得分:0)
您可以在函数外创建所需的字段(变量),然后使用 this 关键字使用它们。例如:
private $dis;
private $name;
private $number;
public function ven_coupon()
{
if ($_POST) {
$number = $_POST['coupon'];
$query = $this->front->ven_coupon($number);
if (count($query) <= 0 ) {
echo "Not Valid";
}
$payment = $this->cart->total();
$this->dis = $query['discount'];
$this->name = $query['username'];
$this->number = $query['number'];
$discount['discount'] = ($payment*$dis)/100;
$discount['data'] = $dis;
$this->load->view('checkout',$discount);
}
}
public function addcart()
{
$ven = $this->ven_coupon();
echo $this->name;
echo $this->dis;
echo $this->number;
}
答案 2 :(得分:0)
变量的范围在函数内部。你需要将变量作为类的一部分变为:
基本示例:
int a = (int) ( Math.random()*((hauteur*HMURET+1)-2) );
for(int i=0; i<(this.hauteur*HMURET+1); i++)
{
System.out.print("|");
for(int j=0; j<(this.largeur*LMURET+1)-2; j++)
{
System.out.print(" ");
}
if(i<a){
System.out.println("");
}else{
System.out.println(this.dessinLaby[i][0] = '|');
}
}