Помогите пожалуйста разобраться с массивом. имею массив(исходный код браузера) Array ( [0] => db!@yandex.ru 1234567 Sunday-02-December [1] => ssdfsf!@sdfsdf 234234 Sunday-02-December [2] => dfgdfgdf@fsdfsdg 23423423 Sunday-02-December [3] => fgnbgfngfn@sdgfdg 234235345 Sunday-02-December ) такого вида и.т.д. Всё это берется из файла каждая строка Так вот хотелось бы разбить массив разделитель в данном случае пробел. К пример [1] разбить на email, cod, data Чтобы отдельно выводить их в документе а не целой строкой. Перемучался весь пробовал $f = fopen ("11.txt", "a+"); $files = file( "11.txt" ); /* for ($i=0; $i<count($files); $i++){ $end = explode(" ", $files[$i]); }*/ Но ни в какую не работает. Подскажите что не так делаю ? Или ткните куда нибудь носом. Гуглить пробовал!!!
Во первых зачем тебе эта строка $f = fopen ("11.txt", "a+"); ? Во вторых, убери ее и раскоментируй свой код А какая ошибка, какой у тебя результат?
Спасибо убрал лишнюю строку! Если результат то такой Array ( [0] => [1] => ) Если поставить $end = explode(" ", $files[$i-1]); минус единицу то берется последний элемент массива и разбивается как надо результат такой Array ( [0] => fgnbgfngfn@sdgfdg [1] => 234235345 [2] => Sunday-02-December [3] => ) т.е. то что надо, но надо весь массив так разбить!
<?php $files = file( "11.txt" ); for ($i=0; $i<count($files); $i++){ $end = explode(" ", $files[$i]); } print_r ($end); ?> Этот вариант выводит Array ( [0] => [1] => ) Вот этот вариант: <?php $files = file( "11.txt" ); for ($i=0; $i<count($files); $i++){ $end = explode(" ", $files[$i-1]); } print_r ($end); ?> Выводит: Array ( [0] => fgnbgfngfn@sdgfdg [1] => 234235345 [2] => Sunday-02-December [3] => ) Второй вариант ближе выводит, но он разбивает последний элемент массива!
Код (PHP): $files = file("11.txt"); $c = count($files); for ($i=0; $i<$c; $i++) $end[]= explode(' ', $files[$i]); print_r ($end);
Отлично всё работает. СПАСИБО БОЛЬШОЕ! Я так понимаю основная ошибка была в строке $end[]= explode(' ', $files[$i]); [] - добавить ? Ведь по сути $c переменная имеет тоже самое.
Да совершенно верно. Ты не указал что переменная массив. Это сделано, что бы в цикле не выполнять десятки раз одно и то же действие. Так мы получаем количество элементов 1 раз вызвав функцию count. Небольшая оптимизация.
Получается он определял переменную как sting строка ? Вроде как array получалось же ,а значит массив, или это одномерный получался массив ? Сейчас же вроде многомерный массив ? Извини за тупые вопросы, самый низкий уровень новичка, просто хочется понять.
Да, ты же не указал что это массив. Эта запись означает добавить в конец массива $end значение справа от знака равно. Результат работы explode массив, в результате получается многомерный массив. Да ладно не напрягайся ))
Спасибо большое теперь всё понятно. А то всю голову изломал вроде должно работать, а оказывается ошибался)