<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 2.0

PHP и MySQL с Нуля до Гуру 2.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 11 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

В курсе Вы узнаете всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики.

Почти к каждому уроку идут упражнения.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

работа со строками и массивами
14.05.2017 20:04:05 работа со строками и массивами Сообщение #1
realmadrid94_94

realmadrid94_94

Новичок

Новичок

Дата регистрации:
23.02.2016 21:44:41

Сообщений: 3

Здравствуйте, у меня есть строка длиной 5585552 символов. Мне нужно в цикле на каждом итерации  вырезать 1 символ  и добавить в массив.


$data = "String with a length of 5585552 characters"; 
$array = array();
for($i = 0; $i < strlen($data); $i++){
$array[] = substr($data, $i, strlen($data));
}

А скрипт пишет это: Fatal error: Allowed memory size of 1572864000 bytes exhausted (tried to allocate 180397 bytes) in Z:\home\zada4i.tj\www\209\index.php on line 39. 

это и есть строка 39 $array[] = substr($data, $i, strlen($data));

Я уже изменил memory_limit в php.ini на 1024М
Профиль Ответить
15.05.2017 20:42:05 работа со строками и массивами Сообщение #2
lll

lll

Эксперт

Эксперт

Дата регистрации:
17.06.2016 22:32:32

Сообщений: 120

Привет! Попробуй так.
$data = "String with a length of 5585552 characters";  
$array = array();
$len=strlen($data); 
for($i = 0; $i <$len; $i++){ 
   $array[] = substr($data, $i, $len); 
}
Профиль Ответить
16.05.2017 21:10:50 работа со строками и массивами Сообщение #3
realmadrid94_94

realmadrid94_94

Новичок

Новичок

Дата регистрации:
23.02.2016 21:44:41

Сообщений: 3

Привет! Ваш код и мой одинаковы. Просто Вы использовали переменную $len.  Ваш код тоже не работает. 
Профиль Ответить
16.05.2017 21:21:46 работа со строками и массивами Сообщение #4
lll

lll

Эксперт

Эксперт

Дата регистрации:
17.06.2016 22:32:32

Сообщений: 120

В моем коде функция вызывается один раз, а в Вашем несколько.
Я оба кода проверил, у меня все работает. 
Профиль Ответить
16.05.2017 22:06:08 работа со строками и массивами Сообщение #5
realmadrid94_94

realmadrid94_94

Новичок

Новичок

Дата регистрации:
23.02.2016 21:44:41

Сообщений: 3

А у Вас был строка длиною 5585552 символов и создался ли массив с 5585552 элементами?  
Профиль Ответить
16.05.2017 22:24:45 работа со строками и массивами Сообщение #6
lll

lll

Эксперт

Эксперт

Дата регистрации:
17.06.2016 22:32:32

Сообщений: 120

Вот и не хватает памяти для такого скрипта!
Профиль Ответить