Открыть меню    

7 супер удобных PHP функций для начинающих

семь удобных PHP функция для начинающих программистов Вы когда-нибудь просматривали список функций доступных в PHP. Я насчитал приблизительно 5025 штук на странице – краткий справочник по PHP. Конечно, существует зависимость между количеством функций и теми расширениями, которые у вас установлены, но все равно - это целая куча функций! Конечно, я не могу и не хочу описывать каждую функцию. Однако я познакомлю вас действительно удобными и важными функциями языка PHP в этом кратком уроке.

Функция 1: Array_rand

Давайте начнем с самой простой. Хотите получить случайный элемент массива? Вы можете использовать функцию rand, чтобы получить случайный индекс, передавая в качестве аргументов, например, 0 и последний индекс массива; это даст вам случайный ключ, который вы можете использовать для извлечения значения из массива.


$bg = array('img/mummy.png', 'img/iron_ma.png', 'img/ww.png', 'img/scream.png', 'img/jack.png');
$i = rand(0, count($bg)-1);
$selectedBg = "$bg[$i]";

Однако, есть способ, который намного быстрее: aray_rand. Передайте в функцию массив, и она вернет вам случайный ключ.

$sites = array("Nettuts+", "Psdtuts+", "Mobiletuts+", "Mactuts+");
$k = array_rand($sites);
echo $sites[$k]; // выведет случайное значение

Если вы хотите получить несколько случайных значений, передайте второй параметр и функция возвратит массив ключей, соответствующих случайным значениям.

Функция 2: strip_tags

Довольно часть приходится принимать большие куски текста от пользователей, например, в качестве комментариев. Конечно, вероятно вы не желаете принимать, например, HTML тэги, верно? Итак, если вы хотите вырезать HTML и PHP тэги, используйте функцию strip_tags.

$message = "<div> This is my bio </div>";
echo strip_tags($message); // "This is my bio"

Конечно, вы можете захотеть оставить некоторые тэги, чтобы стилизовать некоторые куски текста, например, такие как strong, em, code, для этого в качестве второго параметра передайте нужные тэги.

$message = "<div> This is <strong>my</strong> bio </div>";
echo strip_tags($message, "<strong><em><code>"); // "This is <strong>my</strong> bio"

Функция 3: strftime

Дата является важной частью любого веб-приложения, поэтому вы должны иметь возможность вывести дату в любом формате. Это не сложно, особенно, если вы тяните дату из БД или используете функцию time(), может быть – но что насчет форматирования? Функция strftime поможет вам отформатировать дату как вам угодно. В функцию передается форматирующая строка и временной отрезок, а на выходе получаем преобразованную дату.

setlocale(LC_ALL, 'ru_RU.CP1251');
echo   strftime("%B %d, %Y", time()); // Январь 03, 2013  (на локальном сайте не работает)

Невозможно запомнить все форматирующие маркеры, поэтому обратитесь к соответствующим руководствам.

Функция 4: basename

При работе с файлом вы, как правило, хотите получить его абсолютный путь. Однако если вам потребуется вывести информацию об этом файле пользователю, вы, возможно, захотите показать лишь имя файла, а не абсолютный путь. Для этого воспользуйтесь функцией basename, данная функция вернет имя файла, чей путь был передан в качестве параметра. Если вы желаете избавиться от суффикса, передайте суффикс в качестве второго параметра.

    $path = "/some/long/path/to/the/special_file.txt";
    $filename1 = basename($path); // special_file.txt
    $filename2 = basename($path, ".txt"); // special_file  

Функция 5: list

Это довольно удобно: скажем, у вас есть массив, и вы хотите каждый элемент массива присвоить собственной переменной. При помощи функции list сделать это довольно просто:

$info = array('кофе', 'коричневый', 'кофеин');
list($drink, $color, $power) = $info;
echo "$drink - $color, а $power делает его особенным.\n";
//кофе - коричневый, а кофеин делает его особенным.

Как вы можете видеть, в качестве параметров функции list передается список переменных, которым затем присваиваются соответствующие значения массива. Это немного отличается от обычно синтаксиса PHP, так как вызов функции происходит слева, но все работает, вот пример:

   $data = "foo:*:1023:1000::/home/foo:/bin/sh";
     list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);

         echo "$user <br/>";    // foo
         echo "$pass <br/>";    //*
         echo "$uid <br/>";     //1023
         echo "$gid <br/>";     //1000
         echo "$gecos <br/>";
         echo "$home <br/>";   // /home/foo
         echo "$shell <br/>";  // /bin/sh

Функция 6: range

Допустим, вам когда-нибудь потребуется список, состоящий из чисел, чтобы, например, воспроизвести определенное количество итераций. Реализовать задуманное вам поможет функция range. Просто передайте в функцию начало и конец цифры (или буквы), и функция возвратит массив чисел (букв).

    range(0, 10); // array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
    range('a', 'f'); // array('a', 'b', 'c', 'd', 'e'. 'f');  

Как вы можете видеть, включены будут все цифры переданные в функцию. В функцию можно передать третий параметр - step, он будет использоваться как инкремент между элементами последовательности.

    range(2, 10, 2); // array(2, 4, 6, 8, 10);  

Функция 7: isset

Чтобы определить установлена переменная или нет, используйте функцию isset. В функцию передается имя переменной, в случае существований переменной функция возвратит TRUE, иначе вернет FALSE (даже в то случае, если переменная равна NULL).

    $name = "Joe";
    isset($name); // true
    isset($age); // false  

Так как эта функция работает и в массивах, то ее часто используют для определения существования элемента массива по определенному ключу, например, для суперглобальных массивов $_POST и $_GET. Если значение существует, вы делаете одно, иначе другое. Например, страница поиска может работать так:

    if(isset($_GET['query'])) {
        // get results and display them
    } else {
        // show some default content
    }  

Источник: quick-tip-7-super-handy-php-functions-for-beginners

Комментарии к статье

аватарка пользователя
2015-05-03
Иван

Спасибо! Актуальная информация

аватарка пользователя
2016-10-31
Артем

Ребят не подскажите как задать случайное имя таблице при ее создании?

Добавить комментарий