Подскажите можно использовать регулярные выражения в ветке case.Например вот так:
$z="1,2,4,8,gggggg rrrrrrr";
$q=strlen($z);
echo $q;
for ($i=0;$i<$q;$i++)
{$w=substr($z,$i,1);
//echo $w."<br>";
switch ($w)
{
case ",":{break;}
case "/[0-9]/":{
$res.="+<br>";
break;
}
case "/[A-Za-zÀ-ßà-ÿ\s]/":{$res.=$w;
break;
}
default: {$res.="не вверно";
break;
}
}//end switch
}//end for
echo $res;
1. irysik - 12 Марта, 2012 - 09:14:08 - перейти к сообщению
2. snikers987 - 12 Марта, 2012 - 09:54:16 - перейти к сообщению
Синтаксически можно, для switch это будет просто строка для сравнения, но сравнения с патерном не будет происходить.
3. irysik - 12 Марта, 2012 - 11:00:14 - перейти к сообщению
snikers987 пишет:
Синтаксически можно, для switch это будет просто строка для сравнения, но сравнения с патерном не будет происходить.
А как тогда можно из строки взять сочетание букв,причем я не знаю с какой позиции начинаются буквы???
4. Мелкий - 12 Марта, 2012 - 11:31:22 - перейти к сообщению
irysik, не поверите - регуляркой.
Какая задача в оригинале?
Какая задача в оригинале?
5. irysik - 13 Марта, 2012 - 06:38:46 - перейти к сообщению
У меня есть строка, в которой цифры и буквы(словосочетание),разделены запятой.Проблема в том что я не знаю сколько там букв а сколько цифр.
Может быть :1,2,3,йуцуцйуцй фыкаваку, а может 1,6,8,9,10,15,ава аав или вообще не содержать цифр.
Мне нужно после первого вхождения буквы считать остаток строки,а перед буквами если есть цифры записать их в массив.
Может быть :1,2,3,йуцуцйуцй фыкаваку, а может 1,6,8,9,10,15,ава аав или вообще не содержать цифр.
Мне нужно после первого вхождения буквы считать остаток строки,а перед буквами если есть цифры записать их в массив.
6. Мелкий - 13 Марта, 2012 - 08:54:31 - перейти к сообщению
Можно и без регулярки.
А можно - с: