Last active
December 7, 2022 13:03
-
-
Save pawjunior/8f18ec2a99e2e3b3109c307bdde55143 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Напишите PHP-скрипт для создания двумерного массива (4х4), инициализированного до 10. | |
<?php | |
$a = array_fill(0, 4, array_fill(0, 4, 10)); | |
echo "<pre>"; print_r($a); echo "</pre>"; | |
?> | |
//Напишите PHP-скрипт для генерации простого случайного пароля [не используйте функцию rand ()] из заданной строки. | |
<?php | |
function password_generate($chars) | |
{ | |
$data = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcefghijklmnopqrstuvwxyz'; | |
return substr(str_shuffle($data), 0, $chars); | |
} | |
echo password_generate(7)."\n"; | |
?> | |
/*Напишите программу PHP для создания диапазона, подобного следующему массиву. | |
массив | |
( | |
[20] => 2 | |
[21] => 3 | |
[22] => 4 | |
[23] => 5 | |
[24] => 6 | |
[25] => 7 | |
) | |
*/ | |
<?php | |
echo "<pre>"; print_r(array_combine(range(20, 25),range(2,7))); echo "</pre"; | |
?> | |
//Напишите программу PHP, чтобы получить расширение файла | |
<?php | |
function file_extension($str1){ | |
$str1=implode("",explode("\\",$str1)); | |
$str1=explode(".",$str1); | |
$str1=strtolower(end($str1)); | |
return $str1; | |
} | |
$file='example.pdf'; | |
echo "\n".file_extension($file)."\n"; | |
?> | |
//Напишите функцию PHP, чтобы получить расстояние между Красноярском и Монтевидео. | |
<?php | |
function lat_long_dist_of_two_points($latitudeFrom, $longitudeFrom, $latitudeTo, $longitudeTo){ | |
$pi = pi(); | |
$x = sin($latitudeFrom * $pi/180) * | |
sin($latitudeTo * $pi/180) + | |
cos($latitudeFrom * $pi/180) * | |
cos($latitudeTo * $pi/180) * | |
cos(($longitudeTo * $pi/180) - ($longitudeFrom * $pi/180)); | |
$x = atan((sqrt(1 - pow($x, 2))) / $x); | |
return abs((1.852 * 60.0 * (($x/$pi) * 180)) / 1.609344); | |
} | |
// Distance from Krasnoyarsk to Montevideo | |
echo lat_long_dist_of_two_points(56.0184, 92.8672, -34.9033, -56.1882).' mi'."\n"; | |
?> | |
//Напишите скрипт PHP, чтобы извлечь имя пользователя из следующего идентификатора электронной почты. | |
<?php | |
$mailid ='rayy@example.com'; | |
$user = strstr($mailid, '@', true); | |
echo $user."\n"; | |
?> | |
//Напишите PHP-скрипт для удаления всех пробелов в массиве. | |
<?php | |
$my_array = array(15, null, " ", -2, NULL, "", " \n", "Red", 54, "\t"); | |
echo '<pre>'; print_r($my_array); echo '</pre>'; | |
$result = array_filter($my_array, create_function('$x','return preg_match("#\S#", $x);')); | |
echo '<pre>'; print_r($result); echo '</pre>'; | |
?> | |
//Вам нужно разработать программу, которая считала бы количество вхождений какой-нибудь выбранной вами цифры в выбранном вами числе. Например: цифра 5 в числе 442158755745 встречается 4 раза | |
<?php | |
$ch = 442158755745; | |
$num = 5; | |
$result = 0; | |
settype($ch,'string'); | |
settype($num,'string'); | |
for($i=0;$i<=strlen($ch)-1;$i++){ | |
if($ch[$i] == $num){ | |
$result++; | |
} | |
} | |
echo 'Цифра '.$num.' в числе '.$ch.' встречается '.$result.' раза.'; | |
//Напишите PHP-скрипт для обрезки всех элементов массива с помощью функции array_walk. | |
<?php | |
$colors = array( "Red ", " Green", "Black ", " White "); | |
echo '<pre>'; print_r($colors); echo '</pre>'; | |
array_walk($colors, create_function('&$val', '$val = trim($val);')); | |
echo '<pre>'; print_r($colors); echo '</pre>'; | |
?> | |
//Напишите PHP-скрипт, который удаляет последнее слово из строки | |
<?php | |
$str1 ='The quick brown fox'; | |
echo preg_replace('/\W\w+\s*(\W*)$/', '$1', $str1)."\n"; | |
?> | |
//Напишите программу PHP для определения адресов электронной почты, которые не являются уникальными | |
<?php | |
function array_not_unique($my_array) { | |
$same = array(); | |
natcasesort($my_array); | |
reset ($my_array); | |
$old_key = NULL; | |
$old_value = NULL; | |
foreach ($my_array as $key => $value) { | |
if ($value === NULL) { continue; } | |
if ($old_value == $value) { | |
$same[$old_key] = $old_value; | |
$same[$key] = $value; | |
} | |
$old_value = $value; | |
$old_key = $key; | |
} | |
return $same; | |
} | |
$test_array = array(); | |
$test_array[1] ='xyz@example.com'; | |
$test_array[2] ='dse@example.com'; | |
$test_array[3] ='xyz@example.com'; | |
$test_array[4] ='mno@example.com'; | |
echo '<pre>'; print_r(array_not_unique($test_array)); echo '</pre>'; | |
?> | |
//Напишите функцию PHP для создания удобочитаемой случайной строки для капчи | |
<?php | |
function random_string($length = 5) | |
{ | |
$chars = 'bcdfghjklmnpqrstvwxyzaeiou'; | |
for ($x = 0; $x < $length; $x++) | |
{ | |
$result .= ($x%2) ? $chars[mt_rand(19, 23)] : $chars[mt_rand(0, 18)]; | |
} | |
return $result; | |
} | |
echo random_string(); | |
?> | |
//Напишите PHP-скрипт для расчета текущего вашего возраста. | |
<?php | |
$bday = new DateTime('10.1.1995'); // Дата рождения | |
$today = new Datetime(date('m.d.y')); | |
$diff = $today->diff($bday); | |
printf('Ваш возраст: %d лет, %d месяцев, %d дней', $diff->y, $diff->m, $diff->d); | |
printf("\n"); | |
?> | |
//Напишите функцию PHP, которая сравнивает два многомерных массива и возвращает разницу. | |
<?php | |
function key_compare($a,$b) | |
{ | |
if($a===$b) | |
return 0; | |
return($a>$b)?1:-1; | |
} | |
function multidimenssional_array_diff($arr1, $arr2) | |
{ | |
return array_diff_uassoc($arr1['c'], $arr2['c'],"key_compare"); | |
} | |
//multidimenssional arrays | |
$color1=array('a'=>'White','b'=>'Red','c'=>array('a'=>'Green','b'=>'Blue','c'=>'Yellow')); | |
$color2=array('a'=>'White','b'=>'Red','c'=>array('a'=>'White','b'=>'Red','c'=>'Yellow')); | |
print_r(multidimenssional_array_diff($color1, $color2)); | |
?> | |
//Напишите PHP-скрипт для объединения (используя один массив для ключей и другой для его значений) следующих двух массивов. | |
<?php | |
function combine_Array($keys, $values) | |
{ | |
$result = array(); | |
foreach ($keys as $i => $k) { | |
$result[$k][] = $values[$i]; | |
} | |
array_walk($result, create_function('$v', '$v = (count($v) == 1)? array_pop($v): $v;')); | |
return $result; | |
} | |
$array1 = array('x', 'y', 'y'); | |
$array2 = array(10, 20, 30); | |
echo '<pre>'; print_r(combine_Array($array1, $array2)); echo '</pre>'; | |
?> | |
//Напишите PHP-скрипт, чтобы узнать количество дней текущего месяца | |
<?php | |
echo 'Количество дней в '.date('M'). ': ' .date('t')."\n"; | |
?> | |
//Напишите функцию для вычисления факториала числа (неотрицательное целое число). Функция принимает число в качестве аргумента | |
<?php | |
function factorial_of_a_number($n) | |
{ | |
if($n ==0) | |
{ | |
return 1; | |
} | |
else | |
{ | |
return $n * factorial_of_a_number($n-1); | |
} | |
} | |
print_r(factorial_of_a_number(4)."\n"); | |
?> | |
// Создайте три переменные и присвойте им числовые значения. Выведите на экран их произведение. Теперь создайте пользовательскую функцию, принимающую два аргумента по ссылке и один аргумент по значению. Функция должна присваивать переменным другие числовые значения. Вызовите функцию, после чего снова выведите на экран произведение всех переменных. | |
<?php | |
//Присвоили первой переменной значение | |
$n_1=1; | |
//Присвоили второй переменной значение | |
$n_2=2; | |
//Присвоили третьей переменной значение | |
$n_3=3; | |
//Выведет 6 | |
echo $n_1*$n_2*$n_3, '<br>'; | |
//2 аргумента передаются по ссылке, а третий по значению | |
function my_func(&$arg_1,$arg_2,&$arg_3 ){ | |
$arg_1=5; | |
$arg_2=10; | |
$arg_3=20; | |
} | |
//Вызываем функцию | |
my_func($n_1,$n_2,$n_3); | |
//Выведет 200 | |
echo $n_1*$n_2*$n_3; | |
/* Т.к. 2 переменные переданы по ссылке, то изменив их значения внутри функции, | |
мы изменили и сами переменные. Третья переменная была передана по значению, | |
поэтому при манипуляциях внутри функции, само значение вне функции осталось | |
прежним. */ | |
?> | |
// Напишите PHP-скрипт для удаления нечисловых символов, кроме запятой и точки. | |
<?php | |
$str1 = "$12,334.00A"; | |
echo preg_replace("/[^0-9,.]/", "", $str1)."\n"; | |
?> | |
//Разработайте программу, которая из чисел 20 .. 45 находила те, которые делятся на 5 и найдите сумму этих чисел. | |
<?php | |
$start = 20; | |
$end = 45; | |
$sum = 0; | |
// Числа от 20 до 45 | |
for ($i = $start; $i <= $end; $i++) { | |
if (fmod($i, 5) == 0) { | |
$sum += $i; | |
} | |
} | |
echo "Сумма: {$sum}\n"; | |
?> | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment