Статьи

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

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


Давайте начнем с простого. Вы когда-нибудь хотели получить случайный элемент из массива? Вы можете использовать rand или mt_rand для получения случайного числа, передавая 0 и последний индекс массива в качестве параметров min и max; это даст вам случайный ключ, который вы можете использовать для извлечения значения из вашего массива.

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

1
2
3
$sites = [«Nettuts+», «Psdtuts+», «Mobiletuts+», «Mactuts+»];
$k = array_rand($sites);
$sites[$k];

Если вам нужно более одного случайного значения из массива, передайте второй параметр, определяющий, сколько; Вы получите обратно массив случайных ключей.


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

1
2
$message = «<div> This is my bio </div>»;
echo strip_tags($message);

Конечно, вы можете захотеть разрешить определенные теги, такие как <strong> , <em> или <code> , для некоторых простых стилей; передать строку со списком в качестве второго параметра:

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

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

1
strftime(«%B %d, %Y», time());

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


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

1
2
3
$path = «/some/long/path/to/the/special_file.txt»;
$filename1 = basename($path);
$filename2 = basename($path, «.txt»);

Это довольно круто: допустим, у вас есть массив, и вы хотите назначить его элементы своим собственным переменным. Функция list делает это очень простым:

1
2
3
4
5
$array = [«Ellery», «Queen»];
list($first_name, $last_name) = $array;
 
echo $first_name;
echo $last_name;

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

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

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

1
2
range(0, 10);
range(‘a’, ‘f’);

Как видите, это инклюзивный диапазон, поэтому включены оба числа, которые вы определяете. Вы также можете передать параметр шага, чтобы указать приращение между числами:

1
range(2, 10, 2);

Вот удобный способ проверить, установлена ​​ли переменная: используйте функцию isset . Вы просто передаете ему имя переменной, и оно вернет true, если эта переменная существует, и для нее установлено значение, отличное от NULL .

1
2
3
4
$name = «Joe»;
 
isset($name);
isset($age);

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

1
2
3
4
5
if(isset($_GET[‘query’])) {
    // get results and display them
} else {
    // show some default content
}

Я написал новую книгу « Как стать лучше с PHP» с помощью Rockable Press .

Ну, вот и все: семь удобных функций PHP, которые вы должны найти довольно полезными при написании кода. Если вы новичок в PHP, я хочу рассказать вам кое-что: я написал новую электронную книгу « Как стать лучше с PHP» с помощью Rockable Press . Я написал это специально для тех, кто ничего не знает о PHP, но хочет как можно быстрее освоиться. Если это вы, я надеюсь, вы это проверите, когда он выйдет в самое ближайшее время! Мы будем держать вас в курсе.

Итак, теперь, когда вы прочитали мой выбор, как вы думаете, какие функции PHP наиболее удобны? Дайте нам знать об этом в комментариях!