Как мне написать этот массив в простой метод? - PullRequest
0 голосов
/ 26 июля 2010

У меня есть функция, которая много делает вычисления.

$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{}
}

Я сократил количество строк здесь из-за проблемы с пробелами.

1 Ответ

0 голосов
/ 26 июля 2010

Может быть, это может помочь вам.

$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;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...