Как одновременно перебрать два массива?

вопросы и ответы по использованию PHP
Ответить
KEFIR4UK
Сообщения: 49
Зарегистрирован: 08 апр 2014, 12:00

Как одновременно перебрать два массива?

Сообщение KEFIR4UK » 10 апр 2014, 21:59

Есть два массива. В обеих логин почты и пароль только от разных сервисов. Как в цикле их можно перебрать одновременно?Мне нужно зделать сбор почты з других ящиков. Тоисть с 1 ящика квипа например почта идет на 1 ящик мейл ру, 2 ящик квипа на 2 ящик мейл ру и тд. Пароли и логины с этих ящиков поместены в 2 csv файла которые в свою очередь я поместил в два массива.

Germ
Сообщения: 44
Зарегистрирован: 09 июл 2010, 19:14

Re: Как одновременно перебрать два массива?

Сообщение Germ » 12 апр 2014, 09:41

$result = array_merge((array)$beginning, (array)$end);

http://www.php.net/manual/en/function.array-merge.php

KEFIR4UK
Сообщения: 49
Зарегистрирован: 08 апр 2014, 12:00

Re: Как одновременно перебрать два массива?

Сообщение KEFIR4UK » 14 апр 2014, 13:48

Выводит следуйщее

[0] => login1@qip.ru;poiuytrewq

[1] => login2@qip.ru;asdfghjkl

[2] => login3@qip.ru;qazwsxedc

[3] => login4@qip.ru;qwerty256

[4] =>login5@qip.ru;qwerty256
[5] => login6v@mail.ru;xpauewhx

[6] => login7@mail.ru;vhkczin

Но мне нужно что бы были отельно логини и отдельно пароли, тоисть в таком формате:
[0] => login@mail.ru
[1] => xpauewhx

как это зделать?

Germ
Сообщения: 44
Зарегистрирован: 09 июл 2010, 19:14

Re: Как одновременно перебрать два массива?

Сообщение Germ » 14 апр 2014, 15:13

Вам нужно делить логин/пароль при заполнении массивов из csv.

Можно при чтении файлов, а можно потом и по массиву пробежаться, используя explode
http://au1.php.net/explode

KEFIR4UK
Сообщения: 49
Зарегистрирован: 08 апр 2014, 12:00

Re: Как одновременно перебрать два массива?

Сообщение KEFIR4UK » 15 апр 2014, 15:33

Решил проблему,спасибо.
$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);

}

Germ
Сообщения: 44
Зарегистрирован: 09 июл 2010, 19:14

Re: Как одновременно перебрать два массива?

Сообщение Germ » 15 апр 2014, 15:36

Да и я не спец в ПХП,

У вас массив(список) $result, который содержит строки вида "логин;пароль".
Вам теперь надо пробежаться по всему массиву и сделать explode(); для каждой строки отдельно.
Например так.
foreach ($result as $string){
list($login,$password)=explode(';',$string);
// тут можно делать что хотите, наприммер
echo "$login $password\n";
или заполнить новый массив парами логин-пароль
$login_pass[$login] = $password;
}

Germ
Сообщения: 44
Зарегистрирован: 09 июл 2010, 19:14

Re: Как одновременно перебрать два массива?

Сообщение Germ » 15 апр 2014, 15:37

KEFIR4UK писал(а):Решил проблему,спасибо.
$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);

}

Хороший вариант, я не знал про эту функцию

Ответить