За последние 24 часа нас посетили 63246 программистов и 1740 роботов. Сейчас ищут 885 программистов ...

Допилить массив поможете?

Тема в разделе "PHP для новичков", создана пользователем dotez, 21 апр 2017.

  1. dotez

    dotez Активный пользователь

    С нами с:
    18 мар 2010
    Сообщения:
    41
    Симпатии:
    0
    Народ, есть вот такой массив в коде у меня-


    PHP:
    1. <?php
    2.  
    3. $vopros=array(
    4.  
    5. array('яблоки','А вы знаете, что самые ВКУСНЫЕ продаются на- http://www.ХХХ.ru/'),
    6.  
    7. array('апельсины','Вот в этом магазине они лучшие- http://www.CCC.ru/')
    8.  
    9. );
    10.  
    11. ?>
    Как «затюнинговать» этот массив чтобы когда пользователь запрашивает яблоки, в первой строчке в ответе вместо слова ВКУСНЫЕ рандомно подставлялось слово из некоторого списка слов расположенных в файле otvet.txt ?

    В файле otvet.txt слова идут просто обычным список:

    Вкусные

    Сладкие

    Сочные

    Свежие

    И т.д…
     
    #1 dotez, 21 апр 2017
    Последнее редактирование модератором: 21 апр 2017
  2. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Ну как то так например:

    PHP:
    1. $arr = ['Вкусные','Спелые','Замечательные','Натуральные'];
    2. $k = array_rand($arr);
    3. print_r(array('яблоки',"А вы знаете, что самые $arr[$k] продаются на- http://www.ХХХ.ru/"));
     
  3. dotez

    dotez Активный пользователь

    С нами с:
    18 мар 2010
    Сообщения:
    41
    Симпатии:
    0
    не не не это не то, надо что то типа (ну очень условно я пишу конечно)
    PHP:
    1. <?php
    2.  
    3. $vopros=array(
    4.  
    5. array('яблоки','А вы знаете, что самые rand{otvet.txt} продаются на- http://www.ХХХ.ru/'),
    6.  
    7. array('апельсины','Вот в этом магазине они лучшие- http://www.CCC.ru/')
    8.  
    9. );
    10.  
    11. ?>
     
    #3 dotez, 21 апр 2017
    Последнее редактирование модератором: 21 апр 2017
  4. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Ну так что тебе мешает сделать так:
    PHP:
    1. $arr = file('otvet.txt',FILE_IGNORE_NEW_LINES);
    И дальше все тоже самое
     
  5. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @dotez, ну, дал правильный ответ вроде)).
    PHP:
    1. $arr = ['Вкусные','Спелые','Замечательные','Натуральные'];
    2. shuffle($arr);
    3. print_r(array('яблоки',"А вы знаете, что самые $arr[0] продаются на- http://www.ХХХ.ru/"));
    Как вариант)
     
  6. dotez

    dotez Активный пользователь

    С нами с:
    18 мар 2010
    Сообщения:
    41
    Симпатии:
    0
    еще будут какие-нибудь идеи? мне кажется это одним тегом буквлаьно должно делаться... может знает кто
    --- Добавлено ---
    из ФАЙЛА!
     
  7. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Что это значит?
     
  8. dotez

    dotez Активный пользователь

    С нами с:
    18 мар 2010
    Сообщения:
    41
    Симпатии:
    0
    откуда вы оба print_r взяли кстатим не интересно?)))
     
  9. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    ёханый бабай) так бери из файла, а дальше делай как показали))
    --- Добавлено ---
    @alexblack, короче, ему нужно готовое, думать совсем не хочет))
     
    alexblack нравится это.
  10. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Тебе дали уже решение,хочешь из файла - я показал как,в чем проблема?
    print_r это тебе для демонстрации
     
  11. dotez

    dotez Активный пользователь

    С нами с:
    18 мар 2010
    Сообщения:
    41
    Симпатии:
    0
    ну как то вот так нельхя?)))
    PHP:
    1. <?php
    2.  
    3. $vopros=array(
    4.  
    5. array('яблоки','А вы знаете, что самые shuffle($otvet.txt) продаются на- http://www.ХХХ.ru/'),
    6.  
    7. array('апельсины','Вот в этом магазине они лучшие- http://www.CCC.ru/')
    8.  
    9. );
    10.  
    11. ?>
     
    #11 dotez, 21 апр 2017
    Последнее редактирование модератором: 21 апр 2017
  12. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Ни то что думать не хочет,я ему буквально все готовое дал)
     
  13. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @dotez, чтобы вот так вот сделать. сначала вытяни данные из текстового файла. Можешь для этого использовать функцию file(), при условии использования этой фнкции, результат будет массив. Далее работает как показали выще, выбирай любой вариант)

    Нужно сделать одним "тегом"))
     
  14. dotez

    dotez Активный пользователь

    С нами с:
    18 мар 2010
    Сообщения:
    41
    Симпатии:
    0
    Смотрите, вот так должен готовый код выглядеть-
    или я чет местами перепутал?

    PHP:
    1. <?php
    2.  
    3. $arr1=file('otvet1.txt',FILE_IGNORE_NEW_LINES);
    4.  
    5. shuffle($arr1);
    6.  
    7. $arr2=file('otvet2.txt',FILE_IGNORE_NEW_LINES);
    8.  
    9. shuffle($arr2);
    10.  
    11. $vopros=array(
    12.  
    13. array('яблоки','А вы знаете, что самые $arr1[0] продаются на- http://www.ХХХ.ru/'),
    14.  
    15. array('апельсины','Вот в этом магазине они $arr2[0]- http://www.CCC.ru/')
    16.  
    17. );
    18.  
    19. ?>
     
    #14 dotez, 21 апр 2017
    Последнее редактирование модератором: 21 апр 2017
  15. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    тут сменить одинарные кавычки на двойные.
    PHP:
    1. 'А вы знаете, что самые $arr1[0] продаются на- http://www.ХХХ.ru/'
     
  16. dotez

    dotez Активный пользователь

    С нами с:
    18 мар 2010
    Сообщения:
    41
    Симпатии:
    0
    PHP:
    1. <?php
    2.  
    3. $arr1=file('otvet1.txt',FILE_IGNORE_NEW_LINES);
    4.  
    5. shuffle($arr1);
    6.  
    7. $arr2=file('otvet2.txt',FILE_IGNORE_NEW_LINES);
    8.  
    9. shuffle($arr2);
    10.  
    11. $vopros=array(
    12.  
    13. array('яблоки',"А вы знаете, что самые $arr1[0] продаются на- http://www.ХХХ.ru/"),
    14.  
    15. array('апельсины',"Вот в этом магазине они $arr2[0]- http://www.CCC.ru/")
    16.  
    17. );
    18.  
    19. ?>
    вот так ?)))
    и еще вопрос а почему [0] ? что это значит?
     
    #16 dotez, 21 апр 2017
    Последнее редактирование модератором: 21 апр 2017
  17. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    кликни на shuffle - если коротко, то он перемешивает массив, и каждый раз $arr[0] это разное значение
     
  18. dotez

    dotez Активный пользователь

    С нами с:
    18 мар 2010
    Сообщения:
    41
    Симпатии:
    0
    я тебя понял и последний вопрос, а он будет брать построчно? то есть если у меня в ТХТ файле вот такой формат-
    вкусные
    очень вкусные
    самые вкусные в мире

    то он будет рандомно выбирать СТРОКУ и вставлять всю строку целиком да?
     
  19. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @dotez, ты всегда можешь создать такой текствоый файл, и проверить.))
    --- Добавлено ---
    А вошпе, то да.
     
  20. dotez

    dotez Активный пользователь

    С нами с:
    18 мар 2010
    Сообщения:
    41
    Симпатии:
    0
    хорошо спасибо буду пробовать)
     
  21. dotez

    dotez Активный пользователь

    С нами с:
    18 мар 2010
    Сообщения:
    41
    Симпатии:
    0
    не работает схема парни(( оставляет пробел и все вместо слова из файла.
    причем уже попробвоал дажэе на английском слова давать, не в этом дело явно.
     
  22. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    А почему у меня работает?
    --- Добавлено ---
    Покажи код, как де сделал.
     
  23. dotez

    dotez Активный пользователь

    С нами с:
    18 мар 2010
    Сообщения:
    41
    Симпатии:
    0
    как выге написал так и вставил((
     
  24. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Ну покажи, пожалуйста :)
    --- Добавлено ---
    Только скопируй прямо как есть и вставь сюда))
     
  25. dotez

    dotez Активный пользователь

    С нами с:
    18 мар 2010
    Сообщения:
    41
    Симпатии:
    0
    попробвоал ща переменную К ввести, ниче не получилось все ранво оставляте пробел...

    PHP:
    1. <?php
    2.  
    3. $arr1 = file('otvet1.txt',FILE_IGNORE_NEW_LINES);
    4. shuffle($arr1);
    5. $k = array_rand($arr1);
    6.  
    7. $zapros=array(
    8. array('апельсины','Вот же апельсины есть- https://pbs.twimg.com/'),
    9. array('яблоки',"А вот и $arr1[$k] яблоки http://www.ss1111.ru/")
    10. );
    11. ?>
    --- Добавлено ---

    походу шафл тут лишний. ща уберу проверю
     
    #25 dotez, 21 апр 2017
    Последнее редактирование модератором: 21 апр 2017