За последние 24 часа нас посетили 17725 программистов и 1659 роботов. Сейчас ищут 937 программистов ...

класс добавления добавления строки к массиву строк

Тема в разделе "PHP для новичков", создана пользователем Rumato, 16 мар 2011.

  1. Rumato

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

    С нами с:
    26 дек 2010
    Сообщения:
    77
    Симпатии:
    0
    здравствуйте, только начал разбираться с ООП и вот написал свой первый класс, это нечто должно брать строку и добавлять к ней из массива строк строку, чтобы был урл вида http://ru.wikipedia.org/дома

    Код (Text):
    1.  
    2. <?php
    3.  
    4. class addUrl {
    5.   public $wiki = "http://ru.wikipedia.org";
    6.   public $add = "in.txt";
    7.   function add() {
    8.    
    9.     return "{$this->wiki}". "/". "{$this->add}";
    10.   }
    11. }
    12. $adds = new addUrl();
    13. $adds->wiki = "http://ru.wikipedia.org";
    14. $adds->add = file($add);
    15. foreach($add as $value)
    16. {
    17.   echo $wiki, '/' , $value. '<br>';
    18.   }
    19.   ?>
    подскажите, пожалуйста как это правильно записать, в чем ошибка. на выходе должно быть что-то вида

    http://ru.wikipedia.org/дома
    http://ru.wikipedia.org/страусы
    http://ru.wikipedia.org/страны

    заранее спасибо=)
     
  2. Shumomer

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

    С нами с:
    12 мар 2011
    Сообщения:
    194
    Симпатии:
    1
    Адрес:
    из вашего вображения
    Ну например так:

    PHP:
    1. <?php
    2.  
    3. class addUrl {
    4.   public $wiki = "http://ru.wikipedia.org";
    5.   public $adds = array();
    6.   function add() {
    7.     if(!empty($this->adds)) return $this->wiki."/".array_pop($this->adds);
    8.     return false;
    9.   }
    10. }
    11.  
    12. $addu = new addUrl();
    13. $addu->adds = file("in.txt");
    14.  
    15. while($s=$addu->add()) echo $s.'<br>';
    16.  
    17. ?>
     
  3. Rumato

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

    С нами с:
    26 дек 2010
    Сообщения:
    77
    Симпатии:
    0
    большое спасибо! поясните, пожалуйста, что делается в этом месте:
    Код (Text):
    1. if(!empty($this->adds)) return $this->wiki."/".array_pop($this->adds);
    2.      return false;
     
  4. Петр

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

    С нами с:
    20 мар 2006
    Сообщения:
    1.253
    Симпатии:
    0
    Адрес:
    Центр Вселенной
    Ужоснах
     
  5. Shumomer

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

    С нами с:
    12 мар 2011
    Сообщения:
    194
    Симпатии:
    1
    Адрес:
    из вашего вображения
    Петр Чего ужас-то? Это-ж просто пример да к тому-же не для реальной задачи а просто "сделать такую простую фигню через класс". Понятно что в таком виде это абсолютно нерационально.

    Rumato если в массиве еще есть элементы - формирует строку беря элемент из массива, если кончились (массив пуст) - вернет false. Но что-то больно простые вещи вы не понимаете. Может рановато вам классы смотреть? Подучите сначала просто язык.
     
  6. Rumato

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

    С нами с:
    26 дек 2010
    Сообщения:
    77
    Симпатии:
    0
    Shumomer, спасибо за помощь, только начинаю учиться, поэтому простое не всегда бывает простым=)