2017-10-10 75 views
-1

我做了查詢,並在DB表中有前綴和公式。 我使用OctoberCMS是基於Laravel在OctoberCMS中定義變量,所以可以做數學運算

$formulas = Product::join('pivot', 'products.id', '=', 'pivot.product_id') 
      ->join('formulas', 'pivot.formulas_id', '=', 'formulas.id') 
      ->select('formulas.prefix','formulas.formula') 
      ->get(); 

$prefix = $formulas->lists('prefix'); 
extract($prefix); 
$prefix2 = implode(' $', $prefix); 

$formula = $formulas->lists('formula'); 
if (preg_match('([aA-zZ])', $formula)) { 
    $formula2 = implode(' $', $formula); 
    $formula2 = get_class($formula); 
} 
else { 

} 

我做了查詢,並在數據庫表前綴和公式:

e 2a-b-c 

f 4a*4 

h a*2 

我已經定義的前綴式

$a = 30; 
$b = 2; 
$c = 5; 

我想將每個前綴定義爲變量,所以可以做ma個功能:

$e = 2 $a - $b - $c; 

回答

0

你可以嘗試這樣的:

$arrPrefix = array('e' => '2a-b-c', 'h' => '4a*4', 'f' => 'a*2'); 

foreach ($arrPrefix as $key => $v) { 
    $result = ""; 
    for($i = 0; $i <= strlen($v); $i++) { 
      $char = substr($v, $i, 1); 
      if(ctype_alpha($char)) 
      { 
       $result .= "$". $char; 
      } 
      else 
      { 
       $result .= $char; 
      } 
     } 

    $output[] = "$".$key.'='.$result; 
} 

輸出: 現在你的print_r($輸出);結果是,

Array 
(
    [0] => $e=2$a-$b-$c 
    [1] => $h=4$a*4 
    [2] => $f=$a*2 
) 
相關問題