2010-07-26 32 views
0

我確實有一個函數可以做很多計算。如何用簡單的方法寫這個數組?

$arrleft$arrright是兩個不同的陣列。我在這裏做的是我將兩個結合在一起爲我當前的應用程序生成輸出。我所做的是一個簡單的方法,它吃了很多空間和時間。我想要的是如果任何人可以使這段代碼縮短几行(我知道它可以是,如果它在循環中)。但不能獨自進入,所以我把它放在這裏,以便您的意見。

$arrleft = explode(',' , $data1); 
$arrright = explode(',' , $data2); if(isset($data1,$data2)){if(isset($arrleft[0],$arrright[0],$arrleft[1],$arrright[1],$arrleft[2],$arrright[2],$arrleft[3],$arrright[3],$arrleft[4],$arrright[4])) 
    { $totalnumber = ($valueset+1)//calculate total number of variables set + 1 here $valueset = 4 so $total number (4+1)=5 
     $value = (0, 0, $arrleft[0]); 
     $value1 = (0, 1, $arrright[0]); 
     $value2 = (1, 0, $arrleft[1]); 
     $value3 = (1, 1, $arrright[1]); 
     $value4 = (2, 0, $arrleft[2]); 
     $value5 = (2, 1, $arrright[2]); 
     $value6 = (3, 0, $arrleft[3]); 
     $value7 = (3, 1, $arrright[3]); 
     $value8 = (4, 0, $arrleft[4]); 
     $value9 = (4, 1, $arrright[4]); 
    }else if(isset($arrleft[0],$arrright[0],$arrleft[1],$arrright[1],$arrleft[2],$arrright[2],$arrleft[3],$arrright[3])){ 
     $totalnumber = ($valueset+1)//calculate total number of variables set + 1 here $valueset = 3 so $total number (3+1)=4 
     $value = (0, 0, $arrleft[0]); 
     $value1 = (0, 1, $arrright[0]); 
     $value2 = (1, 0, $arrleft[1]); 
     $value3 = (1, 1, $arrright[1]); 
     $value4 = (2, 0, $arrleft[2]); 
     $value5 = (2, 1, $arrright[2]); 
     $value6 = (3, 0, $arrleft[3]); 
     $value7 = (3, 1, $arrright[3]); 
    }else if(isset($arrleft[0],$arrright[0],$arrleft[1],$arrright[1],$arrleft[2],$arrright[2])){ 
     $totalnumber = ($valueset+1)//calculate total number of variables set + 1 here $valueset = 2 so $total number (2+1)=3 
     $value = (0, 0, $arrleft[0]); 
     $value1 = (0, 1, $arrright[0]); 
     $value2 = (1, 0, $arrleft[1]); 
     $value3 = (1, 1, $arrright[1]); 
     $value4 = (2, 0, $arrleft[2]); 
     $value5 = (2, 1, $arrright[2]); 
    }else{} 
} 

由於篇幅問題,我減少了很多行。

+0

「我沒有提到實際的代碼,而是給你提供了一個實際的插圖,以便你能夠獲得清晰的圖像。」 - 圖片根本不清楚。事實上,您所發佈的代碼不會產生任何效果。你只是一遍又一遍地重新賦值'$ value'。請告訴我們你實際上想要做什麼。 – Charles 2010-07-26 09:39:34

+0

抱歉$值其實是不同的變量。這些變量的實際名稱是不同的。由於公司政策我不能提及相同的代碼。因此我重新編寫它。 – mathew 2010-07-26 10:59:53

回答

0

也許這可以幫助你。

$arrleft = explode(',' , $data1); 
$arrright = explode(',' , $data2); 
$countleft = count($arrleft); 
$countright = count($arrright); 

if(isset($data1, $data2) && $countleft == $countright) 
{ // i think that you want from these arrays to have same size 
    $totalnumber = $countleft; // also $countright 
    $values = array(); // you might save these values into array 
    $j = 0; 

    for($i = 0; $i < $totalnumber; $i++) 
    { // i am not sure, but don't you want make from these values an array? 
    $values[$j] = array($i, 0, $arrleft[$i]); 
    $values[$j + 1] = array($i, 1, $arrright[$i]); 
    $j += 2; 
    } 
} 
相關問題