Шпаргалка по PHP

  • Комментарии:
    <?php
        echo "Это тест"; // Это однострочный комментарий в стиле c++
        /* Это многострочный комментарий
           еще одна строка комментария */
        echo "Это еще один тест";
        echo "Последний тест"; # Это комментарий в стиле оболочки Unix
    ?>
  • Вычислить возраст по дате рождения и определить окончание слова по числительному (1 год, 2 года, 5 лет):
    <?php
    $birthday_timestamp = strtotime('1984-08-19');            # Преобразуем дату в текстовом виде к метке времени
      $age = date('Y') - date('Y', $birthday_timestamp);      # Производим математическую операцию: из текущего года вычитаем год рождения
      if (date('md', $birthday_timestamp) > date('md')) {     # Проверяем дату рождения: больше или меньше текущей даты
        $age--;
      }
     
    function num2word($num, $words)                           # Функция определения окончания слова по числительному
        {
        $num = $num % 100;
        if ($num > 19) {
        $num = $num % 10;
        }
        switch ($num) {
        case 1: {
        return($words[0]);
        }
        case 2: case 3: case 4: {
        return($words[1]);
        }
        default: {
        return($words[2]);
        }
        }
        }
     
      echo $age, " ", num2word($age, array('год', 'года', 'лет')); # Выводим результат
      ?>
  • Парсинг RSS:
    $url = 'http://medportal.ru/news/rss/'; //адрес RSS ленты
    $rss = simplexml_load_file($url); // Интерпретирует XML-файл в объект
    $queryData = array();
     
    // формирование данных для вставки
     
    foreach($rss->channel->item as $item) {
      $guid = md5($item->guid);
      $title = addslashes($item->title);
      $description = addslashes($item->description);
      $category = addslashes($item->category);
      $pubDate = addslashes(strftime("%Y-%m-%d %H:%M:%S", strtotime($item->pubDate)));
      $link = addslashes($item->link);
      $queryData[] = "('$guid', '$title', '$description', '$category', '$pubDate', '$link', 1)";
    }
     
    // вставка данных (первичный ключ id, по автоинкрименту, для предотвращения дублирования рассчитывается md5 от guid)
    $query = "INSERT IGNORE INTO `external_rss` (`guid`, `title`, `description`, `category`, `pubDate`, `link`, `is_active`) VALUES ".implode(', ', $queryData);
    $db->Query($query);