Skip to content

Instantly share code, notes, and snippets.

@xaoc-303
Created July 10, 2015 15:11
Show Gist options
  • Select an option

  • Save xaoc-303/b30feb35c709dfa2ff1a to your computer and use it in GitHub Desktop.

Select an option

Save xaoc-303/b30feb35c709dfa2ff1a to your computer and use it in GitHub Desktop.
test
<?php
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\r\n";
echo PHP_EOL.">>> Поменять местами значения переменных \$a и \$b не используя третью переменную.".PHP_EOL;
$a=1; $b=2;
echo "a=$a b=$b".PHP_EOL;
$a = compact('a', 'b');
$b = $a['a'];
$a = $a['b'];
echo "a=$a b=$b".PHP_EOL;
echo PHP_EOL.">>> Написать все возможные варианты вывода значений одномерного массива \$a.".PHP_EOL;
$a = ['a1', 'a2'];
echo print_r($a, true);
echo json_encode($a).PHP_EOL;
echo implode(',', $a).PHP_EOL;
foreach($a as $k => $v) { echo "[$k] => $v\r\n"; };
array_walk($a, function($v,$k) { echo "[$k] => $v\r\n"; });
$i = count($a); while ($i--) { echo "[$i] => $a[$i]\r\n"; }
reset($a); while (list($k, $v) = each($a)) { echo "[$k] => $v\r\n"; }
$c = count($a); for ($i = 0; $i < $c; $i++) { echo "[$i] => $a[$i]\r\n"; }
echo PHP_EOL.">>> Дан целочисленный упорядоченный массив \$c = [1, 2, 4, 8, 18, 20, 33, 66, 99].\r
Написать функцию, которой подается на вход этот массив и некоторые число \$d.\r
Если число \$d есть в массиве, то функция должна вернуть номер элемента массива.\r
Если такого числа нет, то вернуть индекс ближайшего к ней числа.".PHP_EOL;
$c = [1, 2, 4, 8, 18, 20, 33, 66, 99];
$func = function($c, $search) {
$index = array_search($search, $c);
if ($index) {
return $index;
}
$radius = max($c);
foreach ($c as $k => $v) {
$radius_current = abs($search - $v);
if ($radius_current < $radius) {
$index = $k;
$radius = $radius_current;
}
}
return $index;
};
echo $func($c, 19).PHP_EOL;
echo PHP_EOL.">>> Написать рекурсивную функцию подсчета факториала числа.".PHP_EOL;
function fact($n) {
if ($n == 0) {
return 1;
}
return fact($n-1) * $n;
}
echo fact(5).PHP_EOL;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment