// $info = строка с формы.
if(strlen($info) > 0) {
while($info2 = $info[$info3]) {
if ($info2 == "а"){$total += 1;}
elseif ($info2 == "б"){$total += 2;}
elseif ($info2 == "в"){$total += 3;}
elseif ($info2 == "г"){$total += 4;}
elseif ($info2 == "д"){$total += 5;}
elseif ($info2 == "е"){$total += 6;}
elseif ($info2 == "ё"){$total += 7;}
elseif ($info2 == "ж"){$total += 8;}
elseif ($info2 == "з"){$total += 9;}
elseif ($info2 == "и"){$total += 10;}
elseif ($info2 == "й"){$total += 11;}
elseif ($info2 == "к"){$total += 12;}
elseif ($info2 == "л"){$total += 13;}
elseif ($info2 == "м"){$total += 14;}
elseif ($info2 == "н"){$total += 15;}
elseif ($info2 == "о"){$total += 16;}
elseif ($info2 == "п"){$total += 17;}
elseif ($info2 == "р"){$total += 18;}
elseif ($info2 == "с"){$total += 19;}
elseif ($info2 == "т"){$total += 20;}
elseif ($info2 == "у"){$total += 21;}
elseif ($info2 == "ф"){$total += 22;}
elseif ($info2 == "х"){$total += 23;}
elseif ($info2 == "ц"){$total += 24;}
elseif ($info2 == "ч"){$total += 25;}
elseif ($info2 == "ш"){$total += 26;}
elseif ($info2 == "щ"){$total += 27;}
elseif ($info2 == "ъ"){$total += 28;}
elseif ($info2 == "ы"){$total += 29;}
elseif ($info2 == "ь"){$total += 30;}
elseif ($info2 == "э"){$total += 31;}
elseif ($info2 == "ю"){$total += 32;}
elseif ($info2 == "я"){$total += 33;}
switch ($info2){
case a: $total += 1; break;
case b: $total += 2; break;
case c: $total += 3; break;
case d: $total += 4; break;
case e: $total += 5; break;
case f: $total += 6; break;
case g: $total += 7; break;
case h: $total += 8; break;
case i: $total += 9; break;
case j: $total += 10; break;
case k: $total += 11; break;
case l: $total += 12; break;
case m: $total += 13; break;
case n: $total += 14; break;
case o: $total += 15; break;
case p: $total += 16; break;
case q: $total += 17; break;
case r: $total += 18; break;
case s: $total += 19; break;
case t: $total += 20; break;
case u: $total += 21; break;
case v: $total += 22; break;
case w: $total += 23; break;
case x: $total += 24; break;
case y: $total += 25; break;
case z: $total += 26; break;
}
$info3++;
}
}
echo $total;
Проблема заключается в том, что вариант со switch работает как должно, $total увеличивается, а вариант с if-elseif нет. Я пробовал его тоже под switch переделать, но все равно не работает. как я понял далее проблема в том что условие в if имеет дело с русскими буквами. Почему не if не switch не хотят работать с русскими буквами полученными с массива таким образом как в моем случае?
(Отредактировано автором: 17 Февраля, 2016 - 20:56:40)