<MyRusakov.ru />

JavaScript, jQuery и Ajax с Нуля до Гуру

JavaScript, jQuery и Ajax с Нуля до Гуру

Видеокурс "JavaScript, jQuery и Ajax с Нуля до Гуру" научит Вас "вдыхать жизнь" в страницы, делая их с потрясающими эффектами и максимальным удобством для пользователя.

Курс научит Вас писать скрипты на JavaScript, а также обучит использованию библиотеки jQuery и технологии Ajax.

Практически любой красивый сайт (с красивыми галереями изображений, слайдерами, плавными переходами и так далее) использует jQuery. А практически на любом серьёзном сайте вовсю используется технология Ajax, которая делает работу с сайтом максимальной удобной.

Поэтому курс "JavaScript, jQuery и Ajax с Нуля до Гуру" Вам просто необходим, если Вы хотите создавать по-настоящему достойные сайты.

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

Подписавшись по 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

Сообщений: 134

Привет! Попробуй так.
$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

Сообщений: 134

В моем коде функция вызывается один раз, а в Вашем несколько.
Я оба кода проверил, у меня все работает. 
Профиль Ответить
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

Сообщений: 134

Вот и не хватает памяти для такого скрипта!
Профиль Ответить
08.10.2018 11:39:57 работа со строками и массивами Сообщение #7
gogi

gogi

Эксперт

Эксперт

Дата регистрации:
05.09.2018 10:59:59

Сообщений: 130

это точно
Профиль Ответить