Axel177 |
Дата: Вторник, 16.10.2012, 16:03 | Сообщение # 1
|
Боец
Сообщений: 130
Статус: Offline
|
Создание массива из строки, текста.
Для чего это может пригодиться? Разделителем слов или словосочетаний, или других более обширных текстов. Может служить любой знак препинания (точка с запятой, запятая) или набор символов (::). Использовать этот подход имеет смысл при внесении данных например в таблицы Exсel. Есть такой формат документа принимаемый программой Exсel с расширением csv. Смысл разделителя сводится к тому, что каждая строка текста является строкой таблицы Exсel, а в свою очередь разделитель принятый по умолчанию в документе (например запятая), является границей поля этой строки таблицы. Таким образом если написать в блокноте текст принимая одну строку его как строку таблицы и сохранить файл с расширением csv, а потом открыть в excel, то мы увидим готовую таблицу. В данном примере, я хочу показать, как формировать массив из текста разделённого запятыми. Запятая соответственно принимается как разделитель. С Excel это вряд ли связано, но при понимании процесса формирования массива, код можно исправить и принять другой алгоритм решения, который пригоден будет именно вам, для решения вашей задачи. Пока по просьбе заказчика этого урока, примем его условия и сохраним текст разделённый запятыми в массив, каждая часть текста будет иметь в качестве границ угловые скобки. Листинг № 1 - Создание массива из текста с разделителем запятая <?php // Создание массива из строки if($_POST['add_array']=="Получить массив") { // новый массив для заполнения значениями $new_arr = array(); $text = explode(",", htmlspecialchars($_POST['text'])); for($i=0; $i<count($text); $i++) { $vol = "<".$text[$i].">"; array_push($new_arr,$vol); } print_r($new_arr); } ?> <form method="post" action=""> Введите текст:<br> <textarea name="text" cols="70" rows="5"></textarea> <br> <br> <input name="add_array" type="submit" value="Получить массив"> </form> Урок закончен.
C новым годом, друзья!
Сообщение отредактировал Axel177 - Вторник, 16.10.2012, 16:04 |
|
|
|