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 :: Здраствуйте.Как перебрать одновременно два массива? [2]
Покинул форум
Сообщений всего: 161
Дата рег-ции: Апр. 2014
Помог: 0 раз(а)
IllusionMH пишет:
KEFIR4UK, код в студию.
На каждой итерации цикла, после эксплода вы должны получать массив из мыла и пароля.
Дальше запихивайте его в результирующий массив. Аналогично со вторым файлом, если он есть.
Вот код:
$qip="qip.csv";
$arr_qip=file($qip);
$data=explode(';',$arr_qip, 2);
print_r($data);
Вот ошибка которая появляется:
Warning: explode() expects parameter 2 to be string, array given in C:\XWeb\Human Emulator Advanced\My Scripts\Сбор почты с квип на мейл\1.php on line 11
Call Stack:
1.0033 119208 1. {main}() C:\XWeb\Human Emulator Advanced\My Scripts\Сбор почты с квип на мейл\1.php:0
1.1833 5450920 2. explode() C:\XWeb\Human Emulator Advanced\My Scripts\Сбор почты с квип на мейл\1.php:11
IllusionMH
Отправлено: 14 Апреля, 2014 - 17:58:36
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
KEFIR4UK, а в цикле кто будет перебирать за вас все элементы массива?
либо используйте array_map либо пишите цикл с перебором элементов, учтя замечания из предыдущего поста.
И trim не забудьте, т.к. в конце строки останутся символы переноса строки.
Покинул форум
Сообщений всего: 161
Дата рег-ции: Апр. 2014
Помог: 0 раз(а)
IllusionMH пишет:
KEFIR4UK, а в цикле кто будет перебирать за вас все элементы массива?
либо используйте array_map либо пишите цикл с перебором элементов, учтя замечания из предыдущего поста.
И trim не забудьте, т.к. в конце строки останутся символы переноса строки.
Даже в цикле то же самое:
$qip="qip.csv";
for($i=0;$i<count($qip);$i++)
{
$arr_qip=file($qip);
$data=explode(';',$arr_qip, 2);
print_r($data);
}
armancho7777777
Отправлено: 14 Апреля, 2014 - 18:09:29
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
IllusionMH пишет:
И trim не забудьте, т.к. в конце строки останутся символы переноса строки.
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
armancho7777777, спасибо.
Чет на php.su у file вторым параметром идут не int $flags, а только старый $include_path
(Добавление) KEFIR4UK, вы по элементам массива прочитанным из файла должны идти, а не по названию файла. Оно вообще не выдает ошибку на строке с объявлением цикла?
Покинул форум
Сообщений всего: 161
Дата рег-ции: Апр. 2014
Помог: 0 раз(а)
IllusionMH пишет:
KEFIR4UK, код в студию.
На каждой итерации цикла, после эксплода вы должны получать массив из мыла и пароля.
Дальше запихивайте его в результирующий массив. Аналогично со вторым файлом, если он есть.
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
KEFIR4UK, и каков результат? И почему б не сделать по кол-ву элементов в массива полученному из файла?
Panoptik
Отправлено: 15 Апреля, 2014 - 01:28:25
Постоянный участник
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
KEFIR4UK пишет:
$arr_qip=fopen($qip,'r');
$arr_mail=file($mail);
эти 2 строки делают одно и тоже различными способами + этот код (открытие файла) должен выполняться перед циклом
----- Just do it
KEFIR4UK
Отправлено: 15 Апреля, 2014 - 12:36:55
Частый гость
Покинул форум
Сообщений всего: 161
Дата рег-ции: Апр. 2014
Помог: 0 раз(а)
IllusionMH пишет:
KEFIR4UK, и каков результат? И почему б не сделать по кол-ву элементов в массива полученному из файла?
Та же ошибка что и была." по кол-ву элементов в массива полученному из файла?" = ето же сути не миняет.
Пробывал зделать таким образом:
$qip="qip.csv";
$arr_qip=file($qip);
$mail="mail.csv";
$arr_mail=file($mail);
$result=array_merge($arr_qip,$arr_mail);
$exp=explode(';',$result, 2);
print_r($exp);
но тоже выдает ошибку:
Warning: explode() expects parameter 2 to be string, array given in C:\XWeb\Human Emulator Advanced\My Scripts\Сбор почты с квип на мейл\1.php on line 13
Call Stack:
1.0033 119648 1. {main}() C:\XWeb\Human Emulator Advanced\My Scripts\Сбор почты с квип на мейл\1.php:0
1.1902 5452472 2. explode() C:\XWeb\Human Emulator Advanced\My Scripts\Сбор почты с квип на мейл\1.php:13
Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013
Помог: 1 раз(а)
Ну от array_merge получается массив, а не строка. Все верно.
От осинки не родятся апельсинки или как-то так))
IllusionMH
Отправлено: 15 Апреля, 2014 - 13:39:18
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
KEFIR4UK, вы понимаете текст ошибки? второй параметр должен быть строка, вы передаете целый массив(почитайте описание функции file). Что непонятного в ошибке?
Через file вы получаете массив строку типа мыло;пароль через explode разбиваете их на массив array('мыло', 'пароль')
Дальше запихивайте это все в другой массив
$all_credentials []= explode(...);
Это внутри цикла, и втормы параметро должна быть строка. Пока вы не научитесь переводить ошибки в любом онлайновом переводчике, и читать какие параметры принимает функция - "программирование" - не ваше.
Покинул форум
Сообщений всего: 161
Дата рег-ции: Апр. 2014
Помог: 0 раз(а)
Edwvee пишет:
Ну от array_merge получается массив, а не строка. Все верно.
От осинки не родятся апельсинки или как-то так))
Ну а как тогда получить отдельно логин и отдельно пароль? (Добавление)
IllusionMH пишет:
KEFIR4UK, вы понимаете текст ошибки? второй параметр должен быть строка, вы передаете целый массив(почитайте описание функции file). Что непонятного в ошибке?
Через file вы получаете массив строку типа мыло;пароль через explode разбиваете их на массив array('мыло', 'пароль')
Дальше запихивайте это все в другой массив
$all_credentials []= explode(...);
Это внутри цикла, и втормы параметро должна быть строка. Пока вы не научитесь переводить ошибки в любом онлайновом переводчике, и читать какие параметры принимает функция - "программирование" - не ваше.
Знаю что нужно подтянуть пхп, спасибо.
Дошло)
$qip="qip.csv";
$arr_qip=file($qip);
$mail="mail.csv";
$arr_mail=file($mail);
$result=array_merge($arr_qip,$arr_mail);
foreach($result as $value)
{
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.