Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывод алфавита в цикле
 
 автор: IgorT   (18.07.2007 в 16:09)   письмо автору
 
 

Возможно ли как-то вывести украинский алфавит от А до Я в цикле ? Если да то как ?

   
 
 автор: malish   (18.07.2007 в 16:48)   письмо автору
 
   для: IgorT   (18.07.2007 в 16:09)
 


$arr = array('a', 'бэ', 'вэ', 'гэ', 'цэ', 'шо');
foreach($arr as $a) echo $a;

   
 
 автор: bronenos   (18.07.2007 в 16:53)   письмо автору
 
   для: malish   (18.07.2007 в 16:48)
 

for ($i='а', $i<='я'; $i++)

насчет украины не знаю...

   
 
 автор: Faraon   (18.07.2007 в 17:07)   письмо автору
 
   для: bronenos   (18.07.2007 в 16:53)
 

Ну и что из вашего примера получится? Скорее всего ничего!!!
для цикла for должны $i должны быть числовые - это ключ(номер элемента в массиве)

   
 
 автор: Unkind   (18.07.2007 в 17:35)   письмо автору
 
   для: Faraon   (18.07.2007 в 17:07)
 

для цикла for должны $i должны быть числовые
Для цикла for() может быть вообще не быть $i. Цикл for это всего лишь
for(начальные_данные; условие_выполнение_след._цикла; что_делать_после_каждого_цикла);

Что касается типа string:

<?php
if("А" "Я") echo("BANG!");
if(
"А" >= "Я") echo("Oops!");
?>


BANG!

Но в PHP операторы инкремента/декремента работают только с 0-9a-zA-Z. Так что, тут надо только забивать в массив эти буквы и выводи по очереди каждый элемент.

P.S. Но даже в таком случае писать

<?php
for($i "A"$i <= "Z"$i++) //Латинская "A"
{
    echo(
$i "<br />\r\n");
}
?>


.. нельзя, т.к. PHP при сравнении строк сравнивает их побайтно. "Z" и "AA":
Z != A
ord("Z") > ord("A")
<=>
"Z" > "AA"

В итоге такой цикл выведет не то, что хотелось.

Тогда уж так:

<?php
for($i "A"strlen($i) == 1$i++) //Латинская "A"
{
    echo(
$i "<br />\r\n");
}
?>

Но это какое-то извращение.

   
 
 автор: Faraon   (18.07.2007 в 17:43)   письмо автору
 
   для: Unkind   (18.07.2007 в 17:35)
 

Интересно а по украински это прокатит? т.е. то что спрашивал автор топика

   
 
 автор: Unkind   (18.07.2007 в 17:56)   письмо автору
 
   для: Faraon   (18.07.2007 в 17:43)
 

Unkind (18.07.2007 в 17:35)
Но в PHP операторы инкремента/декремента работают только с 0-9a-zA-Z.


С русским алфавитом было бы можно, если в PHP инкеремент действовал, как в C, а не как в Perl (http://php.net/manual/ru/language.operators.increment.php).
С украинским нет. Насколько я знаю, там есть мм "левые" символы. Из-за них они не могут стоят в нужном порядке.

   
 
 автор: Trianon   (18.07.2007 в 18:51)   письмо автору
 
   для: IgorT   (18.07.2007 в 16:09)
 

Проще всего это сделать, если записать его в виде строки. 'а...я'
Это справедливо, кстати, для любого языка.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования