кривые руки и массив с циклом

tester1

Новичок
День добрый! Уже как только не пытался переставлять массив, не получается вывести в верном формате. Итак, имеем:
файл с ip адресами -> ip.txt с условным содержанием:
127.0.0.1
127.0.0.2
127.0.0.3
имеем файл логином и паролем -> login.txt c условным содержанием:
имеем криво работающий скрипт:

PHP:
<?
$uid_file = file("login.txt");
$ip = file("ip.txt");
  foreach($ip AS $row) {
  $result[] = $row; }

  foreach ( $result as $results ) {

$res = trim($results);
foreach($uid_file as $login) {
$loginres[] = $login;
}
foreach ( $loginres as $loginrests ) {
$logining = trim($loginrests);
echo('http://'.$logining.$res);
echo "<br>";
}
}
в итоге получаем не верно работающий цикл, а именно следующий вывод:

получается каждая новая строка в файле login.txt добавляет ещё 1 цикл к следующему айпи адресу, мне нужно чтобы было примерно так:

Спасибо заранее! про кривость рук знаю, как только уже не пробовал переставлять ..все получается криво(
 

AnrDaemon

Продвинутый новичок
1. Вас в школе не учили использовать внятные имена переменных?
2. У вас в голове каша. Начинаете правильно, а заканчиваете дурдомом.
Два массива прочитали? Что нужно, чтобы объединить два линейных массива m и n в матрицу m*n ?
Провернуть один массив через второй. А вы что делаете? То же самое ДВА РАЗА... Дур-дом. Цирк. Шапито.
PHP:
<?php

$uid_file = file("login.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$ip = file("ip.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach($ip AS $row)
{
  $dest[] = trim($row);
}

foreach($uid_file as $creds)
{
  list($login, $password) = explode(':', trim($creds), 2);
  foreach($dest as $address)
  {
    $url[] = "http://{$login}:{$password}@{$dest}/";
  }
}

foreach($url as $s)
{
  print "$url<br/>\n";
}
И собаку из реквизитов уберите.
И, да, это не будет работать, если логин или пароль содержат недопустимые в URL символы.
 

tester1

Новичок
1. Вас в школе не учили использовать внятные имена переменных?
2. У вас в голове каша. Начинаете правильно, а заканчиваете дурдомом.
Два массива прочитали? Что нужно, чтобы объединить два линейных массива m и n в матрицу m*n ?
Провернуть один массив через второй. А вы что делаете? То же самое ДВА РАЗА... Дур-дом. Цирк. Шапито.
PHP:
<?php

$uid_file = file("login.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$ip = file("ip.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach($ip AS $row)
{
  $dest[] = trim($row);
}

foreach($uid_file as $creds)
{
  list($login, $password) = explode(':', trim($creds), 2);
  foreach($dest as $address)
  {
    $url[] = "http://{$login}:{$password}@{$dest}/";
  }
}

foreach($url as $s)
{
  print "$url<br/>\n";
}
И собаку из реквизитов уберите.
И, да, это не будет работать, если логин или пароль содержат недопустимые в URL символы.
расписали все отлично, но мой скрипт хотя бы рабочий а ваш дает ошибку в 15 и 21 строке:
"Notice: Array to string conversion in" ...
 

tester1

Новичок
PHP:
<?php
$uid_file = file("login.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$ip = file("ip.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach($ip AS $row)
{
  $dest[] = trim($row);
}
foreach($uid_file as $creds)
{
  list($login, $password) = explode(':', trim($creds), 2);
  foreach($dest as $address)
  {
$url[] = "http://{$login}:{$password}@{$address}";
  }
}
foreach($url as $s)
{
  print "$s<br/>\n";
}
?>
рабочий вариант) вроде ничего не упустил. спасибо!
 

AnrDaemon

Продвинутый новичок
Виноват, писал не проверяя. Ошибся в паре переменных.
 
Сверху