0

MySQLに接続せずに次の関数呼び出しまで変数の値を関数に保存するための関数またはソリューションが必要です。

function test($price){

    if(isset($lastPrice)){
          if($lastPrice>$price){
                    return true;
              }
          $lastPrice = $price; 
         }else{
               $lastPrice = $price;
               returne false;
     }
}

$prices= array ( '1' => '2000',
                 '2' => '2100',
         '3' => '2100'
);

foreach($prices as $key = > $price){

    if($this->test($price)){
         echo 'got expensive';
    }
}

このコードでは、次に test() が foreach で呼び出されるまで $lastPrice を保存する必要があります...

4

2 に答える 2

2
function test($price){ () {
  static $lastPrice;
  ...
于 2013-09-28T20:32:38.650 に答える
0

代わりにこれを試してください:

$lastPrice = 0;//declaring as global
function test($price){

    if($lastPrice != 0){
          if($lastPrice>$price){
                    return true;
              }
          $lastPrice = $price; 
         }else{
               $lastPrice = $price;
               returne false;
     }
}

$prices= array ( '1' => '2000',
                 '2' => '2100',
         '3' => '2100'
);

foreach($prices as $key = > $price){

    if($this->test($price)){
         echo 'got expensive';
    }
}
于 2013-09-28T20:32:16.507 に答える