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 :: про запись в массив, не могу додуматься

 PHP.SU

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


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

> Описание: есть массив из названий файлов, как создать новый массив и внести в него первые 3 элемента из первого
gvozdkoff
Отправлено: 26 Ноября, 2010 - 14:33:16
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Нояб. 2010  


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




всем привет, скажу сразу,я новичок в php, не судите строго

есть массив из названий файлов
$vopros = array ("v1.php","v2.php", "v3.php", "v4.php", "v5.php");
затем перемешиваем массив
shuffle($vopros);

А далее задача №1.
как то нужно сделать новый массив, и внести в него первые 3 элемента из перемешанного массива $vopros

задача №2
вывести 3 элемента созданного массива(то есть вывести 3 файла v*.php) по одному, например кнопкой либо ссылкой

задача 2 для меня пока вобще муть, Не понял поэтому прошу помоши к 1 задаче, направте в которую сторону копать

спасибо
 
 Top
AdMeen
Отправлено: 26 Ноября, 2010 - 14:39:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


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




gvozdkoff пишет:
...
Это печально!)

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $array_number_2=Array();
  3. array_push($array_number_2,$vopros[0],$vopros[1],$vopros[2]);
  4.  


Задачу 2 я не понял, что надо).

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. include_once($vopros[0]);
  3.  
 
 Top
ALEN
Отправлено: 26 Ноября, 2010 - 14:43:54
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


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




Советую учить мат. часть. задачи очень простые.
 
 Top
Toshak
Отправлено: 26 Ноября, 2010 - 14:48:25
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Окт. 2010  


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




1.
PHP:
скопировать код в буфер обмена
  1.  
  2. $vopros = array ("v1.php","v2.php", "v3.php", "v4.php", "v5.php");
  3. shuffle($vopros);
  4. $ar2 = array($vopros[0].$vopros[1],$vopros[2]);
  5.  

2.
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach($ar2 as $key=>$value){
  3. echo '<a href="'.$value.">'.$key.'<a/>';
  4. }
  5.  


Как то так)
 
 Top
JustUserR
Отправлено: 26 Ноября, 2010 - 14:55:47
Post Id



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


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


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




gvozdkoff пишет:
Вывести 3 элемента созданного массива(то есть вывести 3 файла v*.php) по одному, например кнопкой либо ссылкой
Возможность реализации указанной вами задачи может быть достигнута посредствои использование конструкций циклов для индекской вариации ассоциативного массива в виде for или общей формы foreach по требуемому количеству элементов - в осуществлением их последующего вывода в виде ссылоки посредством интерполяции выбираемых элементов с соответствующий строковый шаблон


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
gvozdkoff
Отправлено: 26 Ноября, 2010 - 15:12:22
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Нояб. 2010  


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




про добавление данных в массив интересно, а если не вручную прописывать элементы в номов массиве $vopros[1], а сделать как то так

$test=array();

for($i=0; $i<=2; $i++) {
$test=array($vopros[i]);
}
, то есть указываем диапазон перемешанного массива, например с 1 -го элемента до 3 го,
правда мой вариант не работает Однако , в чем я ошибся ?
 
 Top
Мелкий Супермодератор
Отправлено: 26 Ноября, 2010 - 15:23:06
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




gvozdkoff пишет:

тут. Так вы пересоздаёте массив. Для добавление в конец массива можно использовать такую конструкцию:

И, полагаю, опечатка, вместо i должно быть $i.

(Отредактировано автором: 26 Ноября, 2010 - 15:23:51)



-----
PostgreSQL DBA
 
 Top
JustUserR
Отправлено: 26 Ноября, 2010 - 15:33:42
Post Id



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


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


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




gvozdkoff пишет:
Правда мой вариант не работает , в чем я ошибся
Для осуществления автоматического добавления предполагаемого элемента в конец массив с проведение его автоматического расширения и инкрементаци внутреннего индекса - используется синтакчиеская коснтуркция типа $arr[]=$elm с пустыми квадратными скобками


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
gvozdkoff
Отправлено: 26 Ноября, 2010 - 16:09:08
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Нояб. 2010  


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




Товарищи Улыбка !
Спасибище вам огромное, подчерпнул я для себя много интересного
вот то что получилось, кстати нармально, доволен как слон Радость
спецы, пробегитесь глазом по коду, вроде нормально, по крайне мере код рабочий
с первой задачей закончено ))

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. //массив с данными
  3. $vopros = array ("v1.php","v2.php", "v3.php", "v4.php", "v5.php");
  4.  
  5. //перемешиваем этот массив
  6. shuffle($vopros);
  7.  
  8. //для элементов массива с 1 по 5, вобщем выводим их
  9. for($i=0; $i<=4; $i++) {  
  10. echo $vopros[$i];
  11. }
  12.  
  13. //типа новая строка (чтоб читалось удобней)
  14. echo '<br>';
  15.  
  16. //создаем новый массив
  17. $test=array();
  18.  
  19.  //заполняем новый массив первыми тремя элементам перемешанного массива
  20. for($t=0; $t<=2; $t++) {
  21. $test[]=$vopros[$t];  
  22. }
  23. // вывод  элементов нового массива
  24. echo $test[0];
  25. echo $test[1];  
  26. echo $test[2];
  27.  

(Отредактировано автором: 26 Ноября, 2010 - 16:14:31)

 
 Top
JustUserR
Отправлено: 27 Ноября, 2010 - 13:02:28
Post Id



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


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


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




gvozdkoff пишет:
Вывод элементов нового массива
Осуществление вывода элементов создаваемого вами массива может быть проведено в автоматичеком режиме без включения вной зависимости исходного кода от констант и выражений обеспечивающ хранения фиксированного числа элементов - в общем случае для решения такой задачи целесообразно использование цикла foreach или for при последовательной целочисленной индексации


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB