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]

 PHP.SU

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


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

> Без описания
KEFIR4UK
Отправлено: 14 Апреля, 2014 - 17:57:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 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
 
 Top
IllusionMH
Отправлено: 14 Апреля, 2014 - 17:58:36
Post Id



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


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


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




KEFIR4UK, а в цикле кто будет перебирать за вас все элементы массива?
либо используйте array_map либо пишите цикл с перебором элементов, учтя замечания из предыдущего поста.
И trim не забудьте, т.к. в конце строки останутся символы переноса строки.

(Отредактировано автором: 14 Апреля, 2014 - 18:01:26)

 
 Top
KEFIR4UK
Отправлено: 14 Апреля, 2014 - 18:03:53
Post Id



Частый гость


Покинул форум
Сообщений всего: 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);
}
 
 Top
armancho7777777 Супермодератор
Отправлено: 14 Апреля, 2014 - 18:09:29
Post Id



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


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


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




IllusionMH пишет:
И trim не забудьте, т.к. в конце строки останутся символы переноса строки.

PHP:
скопировать код в буфер обмена
  1. file($fileName, FILE_IGNORE_NEW_LINES);
 
 Top
IllusionMH
Отправлено: 14 Апреля, 2014 - 18:16:52
Post Id



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


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


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





armancho7777777, спасибо.
Чет на php.su у file вторым параметром идут не int $flags, а только старый $include_path

(Добавление)
KEFIR4UK, вы по элементам массива прочитанным из файла должны идти, а не по названию файла. Оно вообще не выдает ошибку на строке с объявлением цикла?

(Отредактировано автором: 14 Апреля, 2014 - 18:19:22)

 
 Top
KEFIR4UK
Отправлено: 14 Апреля, 2014 - 20:41:05
Post Id



Частый гость


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


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




IllusionMH пишет:
KEFIR4UK, код в студию.
На каждой итерации цикла, после эксплода вы должны получать массив из мыла и пароля.
Дальше запихивайте его в результирующий массив. Аналогично со вторым файлом, если он есть.

for($i=0;$i<10;$i++)
{
$qip="qip.csv";
$arr_qip=fopen($qip,'r');
$arr_mail=file($mail);
$data=explode(';',$arr_mail[i], 2);
print_r($data);

}
Вот код
 
 Top
IllusionMH
Отправлено: 14 Апреля, 2014 - 20:57:00
Post Id



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


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


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




KEFIR4UK, и каков результат? И почему б не сделать по кол-ву элементов в массива полученному из файла?
 
 Top
Panoptik
Отправлено: 15 Апреля, 2014 - 01:28:25
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


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




KEFIR4UK пишет:
$arr_qip=fopen($qip,'r');
$arr_mail=file($mail);

эти 2 строки делают одно и тоже различными способами + этот код (открытие файла) должен выполняться перед циклом


-----
Just do it
 
 Top
KEFIR4UK
Отправлено: 15 Апреля, 2014 - 12:36:55
Post Id



Частый гость


Покинул форум
Сообщений всего: 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

(Отредактировано автором: 15 Апреля, 2014 - 13:12:50)

 
 Top
Edwvee
Отправлено: 15 Апреля, 2014 - 13:26:19
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


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




Ну от array_merge получается массив, а не строка. Все верно.
От осинки не родятся апельсинки или как-то так))
 
 Top
IllusionMH
Отправлено: 15 Апреля, 2014 - 13:39:18
Post Id



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


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


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




KEFIR4UK, вы понимаете текст ошибки? второй параметр должен быть строка, вы передаете целый массив(почитайте описание функции file). Что непонятного в ошибке?
Через file вы получаете массив строку типа мыло;пароль через explode разбиваете их на массив array('мыло', 'пароль')
Дальше запихивайте это все в другой массив
$all_credentials []= explode(...);
Это внутри цикла, и втормы параметро должна быть строка. Пока вы не научитесь переводить ошибки в любом онлайновом переводчике, и читать какие параметры принимает функция - "программирование" - не ваше.

(Отредактировано автором: 15 Апреля, 2014 - 13:40:14)

 
 Top
KEFIR4UK
Отправлено: 15 Апреля, 2014 - 14:05:19
Post Id



Частый гость


Покинул форум
Сообщений всего: 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)
{

$arr_item=str_getcsv($value,";");
print_r($arr_item);

}

(Отредактировано автором: 15 Апреля, 2014 - 14:30:50)

 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB