Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Массивы в PHP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
alexa77
Отправлено: 23 Ноября, 2016 - 13:02:35
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Нояб. 2016  


Помог: 0 раз(а)




Добрый день!
На днях начала изучать PHP, но с массивами я не очень разбираюсь,помогите пожалуйста с задачей
Задача. В исходном массиве символов, заполненном случайным образом символами с кодами в диапазоне от 21 до 254, выделить в отдельные массивы строчные буквы латинского алфавита. Для контроля результата сделать распечатку массивов, в том числе исходного.
 
 Top
Строитель Модератор
Отправлено: 23 Ноября, 2016 - 13:07:16
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




alexa77, вы бы хотя бы исходный массив потрудились бы опубликовать ...
 
 Top
NeuroZ
Отправлено: 23 Ноября, 2016 - 14:41:08
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




Из пункта А в пункт Б вышел поезд. Сколько человек в поезде?
 
 Top
Ermite
Отправлено: 23 Ноября, 2016 - 19:48:13
Post Id


Новичок


Покинул форум
Сообщений всего: 41
Дата рег-ции: Февр. 2016  


Помог: 0 раз(а)




Не совсем понял, как будет выглядеть массив, но вот пример:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $arr = ['q','v','B','Y','I','z','D','d','A','c','B','v','f','W'];
  4.  
  5. foreach ($arr as $v)
  6. {
  7.         if (!ctype_upper($v))
  8.         {
  9.                 echo "$v <br>";
  10.         }
  11. }
  12.  
  13. ?>
 
 Top
Строитель Модератор
Отправлено: 23 Ноября, 2016 - 20:27:22
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




Ermite, нет, ТС нужно что-то, вроде этого
Спойлер (Отобразить)
 
 Top
NeuroZ
Отправлено: 25 Ноября, 2016 - 14:03:29
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




Строитель пишет:
($i >= 97 && $i <= 122)

Откуда цифры?
 
 Top
Строитель Модератор
Отправлено: 25 Ноября, 2016 - 15:45:45
Post Id



Участник


Покинул форум
Сообщений всего: 1581
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 74 раз(а)




NeuroZ пишет:
Откуда цифры?
Из таблицы спецсимволов (это коды строчных букв латинского алфавита)
 
 Top
NeuroZ
Отправлено: 25 Ноября, 2016 - 16:17:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




Строитель пишет:
Из таблицы спецсимволов (это коды строчных букв латинского алфавита)

Не, смысл вопроса не в том)) лично я понял откуда они. Но это не очевидно из кода. Просто какие-то цифры из воздуха.
Почему тогда не использовать более универсальную проверку? Например:


А вообще задача некорректна составлена:
Цитата:
В исходном массиве символов, заполненном случайным образом символами с кодами в диапазоне от 21 до 254, выделить в отдельные массивы строчные буквы латинского алфавита. Для контроля результата сделать распечатку массивов, в том числе исходного.

1. Получается что массив заполнен не кодами символов, а самими символами.
2. Зачем создавать N массивов под результатЫ нижнего регистра, когда их можно сохранить в массив?

Если опустить всю абсурдность условия и добавить в задачу смысла, то решение будет таким:
PHP:
скопировать код в буфер обмена
  1. $arr = []; // Исходный массив с номерами символов
  2. $lowChars = []; // Сюда запишем все буквы латиницы нижнего регистра
  3. foreach ($arr as $char) {
  4. $char = chr($i); // Чтобы не вызывать дважды метод кодировки (в условии и в присвоении)
  5. if (preg_match("/[a-z]/", $char))
  6. $lowChars[] = $char;
  7. }
  8. echo '<pre>';
  9. print_r ($arr);
  10. print_r ($lowChars);
  11. echo '</pre>';

(Отредактировано автором: 25 Ноября, 2016 - 16:18:48)

 
 Top
LIME
Отправлено: 26 Ноября, 2016 - 22:09:06
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Тьфу блины
Я думал речь о Zval
Нда
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB