Помогите исправить,сил уже нет(

значение 2-3 получается. и результат "2-3
 
значение 2-3 получается. и результат "2-3
уф, не понимаю, должно быть так, если правильно
$par[1] = '2-3' то explode('-', $par[1]) будет $tmp1 = array(0 => '2', 1 => '3') и тогда $tmp1[0] будет равно '2'. иначе - печаль и безысходность :crazy:
 
ещё раз внимательно продебагайте кусок
Код:
foreach ($item as $value) {
            $stat=explode("@",$value);
            if(in_array ($stat[0], $t)){
                $par[$stat[0]]='';
                continue;
            }
            if($stat[0]==1){
                $tmp=explode("-",$stat[1]);
                $tmp[0]=round($tmp[0]);
                $tmp[1]=round($tmp[1]);
                $tmp1=explode("-",$par[1]);
                $tmp[0]+=$tmp1[0];
                $tmp[1]+=$tmp1[1];
                continue;
            }
$tmp=explode("-",$stat[1]);
$par[1]=implode("-",$tmp);
            $par[$stat[0]]+=$stat[1];
                        }
именно продебагайте, пошагово с анализом переменных, иначе это пальба из миномёта с плохими координатами
 
ещё раз внимательно продебагайте кусок
Код:
foreach ($item as $value) {
            $stat=explode("@",$value);
            if(in_array ($stat[0], $t)){
                $par[$stat[0]]='';
                continue;
            }
            if($stat[0]==1){
                $tmp=explode("-",$stat[1]);
                $tmp[0]=round($tmp[0]);
                $tmp[1]=round($tmp[1]);
                $tmp1=explode("-",$par[1]);
                $tmp[0]+=$tmp1[0];
                $tmp[1]+=$tmp1[1];
                continue;
            }
$tmp=explode("-",$stat[1]);
$par[1]=implode("-",$tmp);
            $par[$stat[0]]+=$stat[1];
                        }
именно продебагайте, пошагово с анализом переменных, иначе это пальба из миномёта с плохими координатами
Честно дербаю сутки... Ночь не спал. Мучал всех знакомых и Цукер'а он тоже проверяй. Уже все проверили.
 
Честно дербаю сутки... Ночь не спал. Мучал всех знакомых и Цукер'а он тоже проверяй. Уже все проверили.
так оно может быть не на первой итерации, а на 100500, поставьте блок скажем
if (count($tmp1) <= 1) echo 'Жопа:'.$par[1];, навскидку
Код:
$tmp1=explode("-",$par[1]);
if (count($tmp1) < 1) echo 'Жопа:'.$par[1]; else $tmp[0]+=$tmp1[0];
if (count($tmp1) < 2) echo 'Жопа:'.$par[1]; else $tmp[1]+=$tmp1[1];

можна в принципе написать костыль
Код:
$tmp[0] += (count($tmp1) > 0 ? $tmp1[0] : 0);
$tmp[1] += (count($tmp1) > 1 ? $tmp1[1] : 0);
 
так оно может быть не на первой итерации, а на 100500, поставьте блок скажем
if (count($tmp1) <= 1) echo 'Жопа:'.$par[1];, навскидку
Код:
$tmp1=explode("-",$par[1]);
if (count($tmp1) < 1) echo 'Жопа:'.$par[1]; else $tmp[0]+=$tmp1[0];
if (count($tmp1) < 2) echo 'Жопа:'.$par[1]; else $tmp[1]+=$tmp1[1];

можна в принципе написать костыль
Код:
$tmp[0] += (count($tmp1) > 0 ? $tmp1[0] : 0);
$tmp[1] += (count($tmp1) > 1 ? $tmp1[1] : 0);
Жопа:1string(3) "2-3"
Жопа:60
 
  • Нравится
Реакции: BDSG
Назад
Сверху