Практические упражнения по PHP с образцами кода
Основные задания по PHP с примерами кода
Как вывести строку 'Привет, мир!' на экран?
Вариант 1: использование echo. Этот оператор выводит одну или несколько строк.
echo 'Привет, мир!';Php mysql пример (примеры кода php mysql)
Привет, мир!
задание php (задания по php)
Вариант 2: использование print. Работает аналогично, но возвращает 1.
print 'Привет, мир!';
Вариант 3: использование printf для форматированного вывода.
printf('%s', 'Привет, мир!');
Наиболее эффективное и распространённое решение - оператор echo, так как он не возвращает значение и работает быстрее.
echo 'Привет, мир!';
Типичные ошибки: забытые кавычки, использование двойных кавычек без необходимости (внутри могут быть переменные, что может привести к неожиданному выводу), смешивание типов кавычек. Для простой строки без переменных предпочтительны одинарные кавычки.
Как проверить, является ли число чётным?
Вариант 1: конструкция if-else.
$num = 4;
if ($num % 2 == 0) {
echo 'Чётное';
} else {
echo 'Нечётное';
}
Чётное
Вариант 2: тернарный оператор.
$num = 7;
echo ($num % 2 == 0) ? 'Чётное' : 'Нечётное';
Нечётное
Основное решение - использование if-else, так как оно более читаемо и легко модифицируется для добавления дополнительных условий.
$num = 10;
if ($num % 2 == 0) {
echo 'Чётное';
} else {
echo 'Нечётное';
}
Частая проблема: работа с числами с плавающей точкой - оператор % не предназначен для них. Также путаница между == и ===: если сравнивать с true/false, лучше использовать строгое сравнение.
Как вывести числа от 1 до 10 в столбик?
Вариант 1: цикл for.
for ($i = 1; $i <= 10; $i++) {
echo $i . "<br>";
}
1<br>2<br>3<br>...10<br>
Вариант 2: цикл while.
$i = 1;
while ($i <= 10) {
echo $i . "<br>";
$i++;
}
Вариант 3: цикл do-while.
$i = 1;
do {
echo $i . "<br>";
$i++;
} while ($i <= 10);
Наиболее часто используемый и удобный способ - цикл for, так как он компактно объединяет инициализацию, условие и изменение счётчика.
for ($i = 1; $i <= 10; $i++) {
echo $i . "<br>";
}
Типичные ошибки: бесконечный цикл из-за неправильного условия (например, $i < 10 вместо $i <= 10) или отсутствия инкремента. В while и do-while легко забыть изменить счётчик.
Как отсортировать массив чисел по возрастанию?
Вариант 1: функция sort(). Переиндексирует числовые ключи.
$arr = [3, 1, 4, 1, 5, 9];
sort($arr);
print_r($arr);
Array
(
[0] => 1
[1] => 1
[2] => 3
[3] => 4
[4] => 5
[5] => 9
)
Вариант 2: asort() - сортировка с сохранением ключей (для ассоциативных массивов).
$arr = ['a' => 3, 'b' => 1, 'c' => 2];
asort($arr);
print_r($arr);
Array
(
[b] => 1
[c] => 2
[a] => 3
)
Вариант 3: usort() - пользовательская сортировка по заданному правилу.
$arr = [3, 1, 4, 1, 5];
usort($arr, function($a, $b) {
return $a - $b;
});
print_r($arr);
Если требуется просто отсортировать числовой массив по возрастанию, оптимальным выбором будет sort().
$arr = [3, 1, 4, 1, 5, 9];
sort($arr);
print_r($arr);
Частая ошибка: забыть, что функция меняет исходный массив, а не возвращает новый. Также при сортировке ассоциативных массивов с помощью sort() теряются ключи - следует использовать asort() или ksort().
Расширенные примеры работы с массивами
Далее представлены нестандартные и углублённые способы сортировки массивов в PHP.
Сортировка по значению с использованием пользовательской функции
Функция usort() позволяет задать собственное правило сравнения. Например, отсортировать массив по длине строк.
$fruits = ['apple', 'banana', 'cherry', 'date'];
usort($fruits, function($a, $b) {
return strlen($a) - strlen($b);
});
print_r($fruits);
Array
(
[0] => date
[1] => apple
[2] => banana
[3] => cherry
)
Многомерная сортировка с array_multisort()
Позволяет сортировать несколько массивов одновременно или сортировать многомерный массив по одному из полей.
$names = ['Иван', 'Петр', 'Анна'];
$ages = [25, 30, 22];
// сортируем по возрасту (второй массив)
array_multisort($ages, SORT_ASC, $names);
print_r($names);
print_r($ages);
Array
(
[0] => Анна
[1] => Иван
[2] => Петр
)
Array
(
[0] => 22
[1] => 25
[2] => 30
)
Сортировка ассоциативного массива по ключам
ksort() сортирует массив по ключам, krsort() - в обратном порядке.
$ages = ['Иван' => 25, 'Петр' => 30, 'Анна' => 22];
ksort($ages);
print_r($ages);
Array
(
[Анна] => 22
[Иван] => 25
[Петр] => 30
)
Естественная сортировка строк с natsort()
Функция natsort() использует «естественный» порядок, как в файловых менеджерах (img1, img2, img10).
$files = ['img10', 'img2', 'img1'];
natsort($files);
print_r($files);
Array
(
[2] => img1
[1] => img2
[0] => img10
)
Сортировка с сохранением ключей при помощи uasort()
uasort() подобна usort(), но сохраняет ключи ассоциативного массива.
$points = ['Иван' => 78, 'Петр' => 92, 'Анна' => 85];
uasort($points, function($a, $b) {
return $b - $a; // по убыванию
});
print_r($points);
Array
(
[Петр] => 92
[Анна] => 85
[Иван] => 78
)
Фильтрация массива с array_filter() и последующая сортировка
Часто требуется отфильтровать массив и затем отсортировать результат. Пример: оставить только нечётные числа.
$numbers = [1, 2, 3, 4, 5, 6];
$odd = array_filter($numbers, function($v) {
return $v % 2 != 0;
});
// array_filter сохраняет ключи, поэтому переиндексируем
$odd = array_values($odd);
sort($odd);
print_r($odd);
Array
(
[0] => 1
[1] => 3
[2] => 5
)