Список основных вопросов при собеседовании на должность PHP программист

images (1)1. Какая разница между $this и self в PHP?
$this – это ссылка на сам объект, а self – на текущий класс.

2. Сколько типов данных в РНР?
PHP поддерживает 8 базовых типов данных.
4 скалярных типа:
boolean. Логический тип данных, переменные данного типа могут принимать значения true
или false.
integer. Целочисленный тип данных, переменные могут принимать целые значения (... -2, -1, 0, 1,
2...) в диапазоне от -2^31 до +2^31. Если значение превышает данный порог – оно автоматичес-
ки переводится в тип float.
float. Числовой тип данных с плавающей точкой, может содержать как целые, так и дробные
величины.
string. Строковый тип данных. Содержит нефиксированное количество различных символов.
PHP не накладывает никаких ограничений на длину строки, поэтому можно смело работать
даже с ОЧЕНЬ большими строками.
2 комплексных (составных) типа:
array. Массив, содержит упорядоченный список элементов.
object. Объект, содержит некий объект (экземпляр класса).
2 специальных типа:
resource. Ссылка на абстрактный элемент, т.н. внешний ресурс. Примеры внешних ресурсов —
ссылка на файл и ссылка на результат выполнения запроса.
NULL. Пустой тип данных, обозначающий отсутствие какого-либо значения. О таких значениях
обычно говорят “не определено”. Пустым значением можно инициализировать переменные лю-
бого другого типа.

3. Что можешь сказать про типизацию данных в PHP?
PHP является языком программирования с динамической типизацией, не требующим указания
типа при объявлении переменных, равно как и самого объявления переменных. Преобразова-
ния между скалярными типами зачастую осуществляются неявно без дополнительных усилий.
Впрочем, PHP предоставляет широкие возможности и для явного преобразования типов.

4. Будет ли $a == $b? Будет ли $b == $c? Будет ли $a == $c?
<?php
$a = 0;
$b = null;
$c = “0”;
?>
Ответ:
$a == $b
$a == $c
а вот $b != $c.

5. Что такое static функция и чем она отличается от “обычной” (не static)?
Static принадлежит классу, а не экземпляру класса. И вызывается у класса, а не у объекта, т.е.
напрямую. Объявление свойств и методов класса статическими позволяет обращаться к ним
без создания экземпляра класса. Атрибут класса, объявленный статическим, не может быть до-
ступен посредством экземпляра класса (но статический метод может быть вызван). Так как ста-
тические методы вызываются без создания экземпляра класса, то псевдопеременная $this не
доступна внутри метода, объявленного статическим. Доступ к статическим свойствам класса не
может быть получен через оператор ->.
Пример. Static-члены класса доступны даже если объект этого класса не создан:
<?php
class A {
public static $static_item = ‘hello’;
public static function hello () {
echo ‘hello_function’;
}
}
echo A::$static_item; // выведет hello, хотя объекты класса A не создавались.
A::hello (); // выведет hello_function
?>

6. Что такое конструктор?
Конструктор – это метод __construct (), вызываемый при создании экземпляра класса (объекта)
при помощи ключевого слова new.

7. Приведи пример конструктора.
<?php
class MyClass {
public function __construct () {
echo “Привет из конструктора!”;
}
}
$myObject = new MyClass ();
?>

8. Обязательно ли писать закрывающий тег ?> в конце скрипта?
В PHP 4 – было обязательно. В PHP 5 не обязательно.

9. В каких случаях ?> лучше не использовать?
Для файлов, содержащих только PHP-код, закрывающий тег ?> лучше не использовать. Он не
требуется синтаксисом PHP и его пропуск предотвращает случайное включение в вывод конеч-
ных пробелов.

10. Поддерживает ли РНР множественное наследование?
Нет, PHP не поддерживает множественное наследование. То есть у производного класса может
быть только один родительский. Но с помощью “магической” функции __call () его можно эмули-
ровать. А, начиная с версии 5.4.0 PHP вводит инструментарий для повторного использования
кода, называемый трейтом (traits). Трейт предназначен для уменьшения некоторых ограниче-
ний единого наследования, позволяя разработчику повторно использовать наборы методов
свободно, в нескольких независимых классах и реализованных с использованием разных архи-
тектур построения классов.
Трейт очень похож на класс, но предназначен для групирования функционала хорошо струк-
турированым и последовательным образом. Невозможно создать самостоятельный экземпляр
трейта. Это дополнение к обычному наследованию и позволяет сделать горизонтальную ком-
позицию поведения, то есть применение членов класса без необходимости наследования.
Также стоит отметить, что один класс может реализовывать несколько интерфейсов.

11. Какая разница между require (), require_once (), include () и include_once ()?
require () подключает в сценарий дополнительный файл, в то время как require_once () делает
это только в том случае, если этот файл не был включен ранее.
Таким образом, require_once () лучше использовать, если нужно включить файл с большим коли-
чеством функций. Тогда можно быть уверенным, что файл не будет включен многократно и не
возникнет ошибка “объявление функции дублируется”.
Отличие между require () и include () следущее: require () возвращает FATAL ERROR, если файл не
найден, include () же возвращает только WARNING.
Функция include_once () работает почти так же, как и include (), а отличия те же, что и между
require () и require_once ().

12. Какая разница между функциями echo и print в PHP?
Во-первых, echo может принимать и выводить любое количество аргументов, а print — только
один. Во-вторых, print всегда возвращает 1, поэтому может быть использован в контексте выра-
жения.

13. Чем отличается цикл while от do while?
do-while всегда выполняет тело цикла хотя бы один раз, поскольку его условное выражение про-
веряется в конце цикла.

14. Как перевернуть массив? Есть массив array (‘h’, ‘e’, ‘l’, ‘l’, ‘o’), как из него по-
лучить array (‘o’, ‘l’, ‘l’, ‘e’, ‘h’)?
Для этого в PHP есть функция array_reverse ().

15. А как перевернуть массив без нее?
Например, так:
<?php
$arr = array (‘h’, ‘e’, ‘l’, ‘l’, ‘o’);
$reversed = array ();
for ($i=count ($arr) -1; $i>=0; $i--) $reversed[] = $arr[$i];
for ($i=0; $i<count ($reversed); $i++) echo “$reversed[$i]”;
?>
Или так:
<?php
$arr = array (‘h’, ‘e’, ‘l’, ‘l’, ‘o’);
$reversed = array ();
for ($i=0; $i<count ($arr); $i++) array_unshift ($reversed, $arr[$i]);
for ($i=0; $i<count ($reversed); $i++) echo “$reversed[$i]”;
?>
Или вот так:
<?php
$arr = array (‘h’, ‘e’, ‘l’, ‘l’, ‘o’);
$reversed = array ();
foreach ($arr as $v) array_unshift ($reversed, $v);
for ($i=0; $i<count ($reversed); $i++) echo “$reversed[$i]”;
?>
Или же вот так:
<?php
$arr = array (‘h’, ‘e’,’l’, ‘l’, ‘o’);
for ($i = 0; $i < floor (count ($arr)/2); $i++)
{
$tmp = $arr[$i];
$arr[$i] = $arr[count($arr)-$i-1];
$arr[count($arr)-$i-1] = $tmp;
}
for ($i=0; $i<count ($arr); $i++) echo “$arr[$i]”;
?>

И даже так:
<?php
$arr = array (‘h’, ‘e’, ‘l’, ‘l’, ‘o’);
$pieces = count ($arr) -1;
$reversed = array ();
while ($pieces >= 0) {
$reversed[] = $arr[$pieces--];
}
for ($i=0; $i<count ($reversed); $i++) echo “$reversed[$i]”;
?>
Да хоть так:
<?php
$arr = array (‘h’, ‘e’, ‘l’, ‘l’, ‘o’ );
$reversed = array ();
while (count ($arr)) $reversed[] = array_pop ($arr);
for ($i=0; $i<count ($reversed); $i++) echo “$reversed[$i]”;
?>

16. Как перевернуть строку?
Функцией strrev (), а если без нее, то проще всего так:
<?php
$str = “Turn me baby”;
for ($i = strlen ($str); $i>=0; $i--) $rev[] = $str[$i];
$revstr = implode (“”, $rev);
echo $revstr;
?>
А если это слишком просто, то можно и так:
<?php
$str = “Turn me baby”;
function myrev ($src) {
$length = strlen ($src);
for ($i = 0; $i < $length / 2; $i++) {
$a = $src[$i];
$src[$i] = $src[$length - $i - 1];
$src[$length - $i - 1] = $a;
}
return $src;
}
echo myrev ($str);
?>
Или вот еще вариант:
<?php
$a = ‘Turn me baby’;
$b = ‘’;
for ($i = strlen ($a) -1; $i>=0; $i--)
$b .= $a[$i];
$a = $b;
echo $a;
?>

17. Что такое рекурсия?
Рекурсия – это вызов функции из неё же самой, непосредственно (простая рекурсия) или через
другие функции (сложная или косвенная рекурсия), например, функция A вызывает функцию B,
а функция B – функцию A. Количество вложенных вызовов функции или процедуры называется
глубиной рекурсии.

18. Напиши пример рекурсивной функции, которая вычисляет факториал числа.
<?php
function fac ($x) {
if ($x === 0)
return 1;
else
return $x*fac ($x-1);
}
echo fac (4);
?>

19. Как вывести ряд чисел Фибоначчи?
<?php
function fibonacci ($n)
{
if ($n < 3) {
return 1;
}
else {
return fibonacci ($n-1) + fibonacci ($n-2);
}
}
for ($n = 1; $n <= 16; $n++) {
echo (fibonacci ($n) . “, “);
}
echo (“...\n”)
?>
20. Что выведет этот скрипт?
<?php
$str = “0”;
if (!$str) echo “EMPTY</br>”;
else echo ‘NOT EMPTY’;
if (empty ($str)) echo “EMPTY</br>”;
else echo “NOT EMPTY”;
if (!strlen ($str)) echo “EMPTY</br>”;
else echo “NOT EMPTY”;
?>
Ответ: EMPTY
EMPTY
NOT EMPTY

21. А этот?
<?php
$str = “7”;
if (!empty ($str)) echo “EMPTY\n”;
else echo “NOT EMPTY!\n”;
?>
Ответ: EMPTY
22. Что получим?
<?php
$a=0;
if ($b=$a)
echo “One”;
else
echo “Two”;
?>
Ответ: Two

23. Преинкремент и постинкремент. В чем между ними разница?
Преинкремент (++$i) – сначала увеличивает, потом возвращает значение.
Постинкремент ($i++) – сначала возвращает, потом увеличивает.

24. Что работает быстрее: преинкремент или постинкремент?
Преинкремент быстрее, т.к. постинкремент создает временную переменную, в то время как пре-
инкремент изменяет саму переменную непосредственно.

25. Есть ли разница в сложении между PHP и JavaScript? ”123” + “abc”. Что бу-
дет? А если 123 + ”abc”?
В JavaScript “+” это конкатенация, т.е. строки просто соединятся. В PHP в обоих случаях результат
будет 123. А если в PHP сложить, например, 10 + ”20”, то, несмотря на кавычки результат будет
30.

26. Есть ли разница между одинарными и двойными кавычками в PHP?
В двойных кавычках данные “парсятся”, а в одинарных – нет. Двойные кавычки в данном случае
приведут к результату Chimay, а одинарные к $beer.
<?php
$beer = ‘Chimay’;
echo “$beer”;
?>

27. Нужно определить длину строки функцией strlen (). Откуда она узнает
сколько в строке символов?
strlen () не выполняет подсчет символов. Она берет уже готовый результат из структуры zval
(внутрення C-структура, которая используется для хранения переменных в PHP).
28. Проход массива. Как вывести все элементы массива на экран?
Вывести с ключами: print_r, а пройти и вывести массив:
<?php
$cars = array (“BMW”, “Audi”, “Mercedes”, “Porsche”);
foreach ($cars as $car) {
echo $car . “<br />”;
}
?>
либо так:
<?php
$cars = array (“BMW”, “Audi”, “Mercedes”, “Porsche”);
for ($i=0; $i<count ($cars); $i++) echo $cars[$i].”<br/>”;
?>

29. Что такое ассоциативный массив?
Массивы, индексами которых являются строки, называются ассоциативными. Индексы ассоци-
ативных массивов называются ключами. Например:
$price = array (“яблоки” => 10, “груши” => 15, “бананы” => 24);

30. Нарисуй форму для отправки файла:
Для реализации возможности загрузки файлов на сервер можно использовать простую форму:
<form action=”upload.php” method=”post” enctype=”multipart/form-data”>
<input type=”file” name=”uploadfile”>
<input type=”submit” value=”Загрузить”>
</form>
Этот код выводит в браузер элемент input с кнопкой “Обзор” и кнопку “Загрузить”. По нажатию
на эту кнопку происходит обращение к файлу upload.php, который содержит следующий код:
<?php
$uploadfile = ‘./upload/’.basename ($_FILES[‘uploadfile’][‘name’]);
// Копируем файл из каталога для временного хранения файлов:
if (copy ($_FILES[‘uploadfile’][‘tmp_name’], $uploadfile))
{
echo “<h3>Файл успешно загружен на сервер</h3>”;
}
else { echo “<h3>Ошибка! Не удалось загрузить файл на сервер!</h3>”; exit;
}
?>

31. Пусть имеем HTML-форму, которая содержит одно поле ввода text и одно
поле ввода textarea. Требуется создать для данной HTML-формы скрипт-обра-
ботчик, который заносит построчно в файл result.txt полученные данные. В
итоге структура файла result.txt должна быть следующая:
Name: текст, введенный в поле text.
Message: текст, введенный в поле textarea.
Форма:
<form action=”upload.php” method=”post”>
Name: <input type=”text” name=”name” /><br>
Message: <textarea rows=”10” cols=”20” name=”message”></textarea><
<input type=”submit” value=”Загрузить” />
</form>
Файл обработки:
<?php
$all=”Name: “.$_POST[‘name’].”\r\n”.”Message: “.$_POST[‘message’].”\r\n”;
$files=”result.txt”;
if (!$handle = fopen ($files, ‘a’)) {
echo “Невозможно открыть файл ($filename)”;
exit;
}
if (fwrite ($handle, $all) === FALSE) {
echo “Невозможно произвести запись в файл ($files)”;
exit;
} else {
echo “Информация успешно записана в файл!”;
}
?>

32. Используя конструкцию switch, написать функцию foo (), принимающую
одно число в качестве аргумента. Если это число равно 2, функция должна
вывести слово “Двойка”, если 3 – “Тройка”, в остальных случаях – “Другое чис-
ло”.
<?php
function foo ($num) {
switch ($num) {
case “2”:
echo “Двойка”;
break;
case “3”:
echo “Тройка”;
break;

default:
echo “Другое число”;
break;
}
}
foo (2);
?>

33. Дан массив $arr = array (3,8,15,25,16,11,10,5,7,30). Вывести те его элемен-
ты, которые делятся на 5.
<?php
$arr = array (3,8,15,25,16,11,10,5,7,30);
foreach ($arr as $v)
if ($v % 5 == 0) echo $v.’</br>’;
?>
А можно и так:
<?php
$arr = array (3,8,15,25,16,11,10,5,7,30);
array_walk ($arr, function ($i){ if ($i%5===0) echo “$i</br>”;});
?>

34. Написать программу, которая выводит простые числа, т.е. делящиеся без
остатка только на себя и на 1.
<?php
$lst = array ();
$k = “prostoe”;
for ($i = 2; $i<100; $i++) {
for ($j = 2; $j < $i; $j++) {
if ( ($i % $j) == 0) {
$k=”ne prostoe”;
}
}
if ($k == “prostoe”)
$lst[] = $i;
else
$k = “prostoe”;
}
foreach ($lst as $list) echo $list.”</br>”;
?>
В качестве флага ($k) корректнее было бы использовать true/false, но я оставил так как есть для
наглядности, чтобы было легче понять как работает программа. И еще. Скрипт можно ускорить,
т.к. мы ищем простые числа и, например, ловим в первом цикле число 60 и поочередно делим
его от 2 до 59, а есть смысл делить его до 31, дальше все впустую. Для этого изменяем пятую
строку скрипта таким образом: for ($j = 2; $j < ($i/2)+1; $j++)

35. Сгенерировать 3 случайных числа в диапазоне от 0 до 10. Если сумма этих
чисел меньше 14, сгенерировать новую тройку.
<?php
do {
$a = mt_rand (0, 10);
$b = mt_rand (0, 10);
$c = mt_rand (0, 10);
$result = $a+$b+$c;
echo $result.”</br>”;
} while ($a + $b + $c < 14);
?>

36. Чему будет равно $a?
$a = “1”;
$a[$a] = “2”;
echo $a;
Ответ: 12
37. Есть массив a = array (тут много элементов). Проходим по массиву циклом
for (i=0; i<=count (a); i++). Можно ли как-нибудь ускорить цикл?
Да.
1) Вынести count (a) в отдельную переменную;
2) Считать массив с конца циклом for (i=count (a); i>=0; i--).

38. Вывести максимальное значение элемента массива array (1,2,3,4,10,100,3,
4987,6,7,8,9).
С использованием стандартной функции max ():
$arr = array (1,2,3,4,10,100,3,4987,6,7,8,9);
echo max ($arr);
Без использования стандартной функции:
<?php
$arr = array (5,45,3,4,5,490,62);
$max = $arr[0];
foreach ($arr as $val)
if ($max < $val) $max = $val;
echo $max;
?>
Или так:
<?php
$arr = array (5,45,3,4,5,490,62);
$max = 0; array_walk ($arr, function ($i) use (&$max){
if ($max<$i) $max=$i;});
echo $max;
?>

39. Напиши программу-цензор, которая бы заменяла вводимые пользовате-
лем в форму слова “fuck”, “idiot” и “bitch” на “f**k”, “id**t” и “bi**h”.
<?php
$find = array (‘fuck’, ‘idiot’, ‘bitch’);
$replace = array (‘f**k’, ‘id**t’, ‘bi**h’);
If (isset ($_POST[‘user_input’]) && !empty ($_POST[‘user_input’])) {

$user_input = $_POST[‘user_input’];
$user_input_new = str_ireplace ($find, $replace, $user_input);
echo $user_input_new;
}
?>
<html>
<head></head>
<body>
<form action=”a.php” method=”POST”>
<textarea name = “user_input” rows = “6” cols = “30”></textarea>
<input type = “submit” value = “Submit!”>
</form>
</body>
</html>

40. Какие магические методы знаешь? Что это вообще такое?
Это методы зарезервированные в php, которые начинаются с двойного подчеркивания “__”.
Список всех магических методов:
__construct
__destruct
__call
__callStatic
__get
__set
__isset
__unset
__sleep
__wakeup
__toString
__set_state
__clone
__construct и __destruct – самые популярные методы, которые реализуют базовые понятия объ-
ектно-ориентированного программирования: конструктор и деструктор;
__call, __callStatic, __get и __set – методы, связанные с перегрузкой обращений как к свойствам, так
и к методам. Методы __get () и __set () вызываются при установке и получении значения свойства,
а методы __call () и __callStatic – при вызове метода. Стоит заметить, что эти магические функции
будут вызываться только и исключительно в том случае, если запрошенные метод или свойство
не существуют;
__isset – метод, срабатывающий при вызове функций empty () или isset () на несуществующем
или недоступном свойстве класса;
__unset – срабатывает при вызове функции unset () на несуществующем или недоступном свойс-
тве класса;
__sleep и __wakeup – методы, которые вызываются только из функций serialize и unserialize со-
ответственно. Метод __sleep будет вызван сразу при применении к объекту функции serialize, а
метод __wakeup – при применении unserialize. В настоящий момент методы применяются для

сохранения текущего состояния системы с последующим восстановлением данного состояния
(например, коннект к базе);
__toString – метод, с помощью которого можно обращаться к классу как к строке (например, с
помощью print или echo);
__set_state – метод, который вызывается для классов, экспортирующих значения свойств функ-
цией var_export ();
__clone – вызывается при клонировании объекта (введен для использования из-за того, что объ-
екты в php5 и выше передаются по ссылке);
__invoke – вызывается при попытке использовать объект в качестве функции.

41. Назови по памяти любые функции для работы со строками, массивами и
файлами.
Например, такие:
Строки:
echo – выводит одну или более строк.
explode – разбивает строку на подстроки.
htmlentities – преобразует символы в соответствующие HTML сущности.
htmlspecialchars – преобразует специальные символы в HTML сущности.
implode – объединяет элементы массива в строку.
ltrim – удаляет пробелы из начала строки.
rtrim – удаляет пробелы из конца строки.
trim – удаляет пробелы из начала и конца строки.
md5 – возвращает MD5 хэш строки.
str_repeat – возвращает повторяющуюся строку.
str_replace – заменяет строку поиска на строку замены.
str_split – преобразует строку в массив.
strlen – возвращает длину строки.
strrev – переворачивает строку.
Массивы:
array_flip – возвращает массив в обратном порядке, то есть ключи массива исходный_массив
становятся значениями, а значения массива исходный_массив становятся ключами.
shuffle – перемешать массив
ksort – отсортировать массив по ключам
array_unique – убрать повторяющиеся значения из массива
array_unshift – добавить один или несколько элементов в начало массива
array_sum – вычислить сумму значений массива
array_shift –извлечь первый элемент массива
array_reverse – возвращает массив с элементами в обратном порядке
array_pop – извлечь последний элемент массива
array_push – добавить один или несколько элеметов в конец массива
array_keys – выбрать все ключи массива
array_count_values – подсчитать количество всех значений массива

Файлы:
filesize – получить размер файла
filetype – получить тип файла
fopen – открывает файл или URL
fwrite – бинарно-безопасная запись в файл
is_executable – определяет, является ли файл исполняемым
if_file – определяет, является ли файл обычным файлом
is_readable – определяет, доступен ли файл для чтения
is_uploaded_file – определяет, был ли файл загружен при помощи HTTP POST
is_writable – определяет, доступен ли файл для записи
mkdir – создаёт директорию
move_uploaded_file – перемещает загруженный файл в новое место
pathinfo – возвращает информацию о пути к файлу
readfile – выводит файл
rename – переименовывает файл или директорию
unlink – удаляет файл

42. Какая функция возвращает количество рядов результата MySQL запроса?
mysql_num_rows (). Она работает только с запросами SELECT. Чтобы получить количество рядов,
обработанных функцями INSERT, UPDATE, DELETE, нужно использовать функцию mysql_affected_
rows ().
Пример:
$result = mysql_query (“SELECT * FROM table1”, $link);
$num_rows = mysql_num_rows ($result);
echo “$num_rows Rows\n”;

43. Какая разница между функциями sort (), asort () и ksort ()?
1) sort () сортирует массив элементов. В отсортированном массиве элементы размещаются по
возрастанию. Это функция сортировки по умолчанию.
2) asort () сортирует ассоциативный массив так, что отсортированными оказываются элементы-
значения ассоциаций. Используется, если важен порядок самих элементов, а не ключей.
Например:
$capitals = array (“US” => “Washington”, “UK” => “London”, “Austria” => “Vienna”);
asort ($capitals);
// $capitals = {“UK” => “London”, “Austria” => “Vienna”, “US” => “Washington”}
3) ksort () сортирует ассоциативный массив по значению ключей. Для предыдущего примера от-
сортированные значения были бы такими:
ksort ($capitals);
// $capitals = {“Austria” => “Vienna”, “UK” => “London”, “US” => “Washington”}

44. Что такое динамические переменные?
Динамической переменной считается та, имя которой хранится в самой переменной. Это так
называемая “переменная переменная”.
Например:
$var = “first”;
$$var = “Second”;
// $$var == $first == “Second”
$$var – динамическая, ее имя может меняться вместе с изменением $var. Также, можно связать
имя переменной с содержимым другой переменной неявно:
$first = “second”;
$second = “third”;
print $first; // напечатает “second”
print $$first; // напечатает “third”

45. Как можно переадресовать пользователя на другую страницу?
1. Используя функцию PHP header ()
header (‘Location: ‘.$url);
2. Используя мeтa-тeг refresh. Вот пример для перевода посетителя на другую страницу сайт,
через определенное время:
<meta http-equiv=”refresh” content=”3;URL= http://phpbook.comli.com”>
content=”3” указывает на время задержки между обновлениями страницы в секундах. Тег заста-
вит обновить страницу в браузере через 3 секунды, заменив адрес страницы на новый, указан-
ный в теге. Если нужно перевести посетителя на другую страницу сразу, без задержки, просто
устанавливаем вместо трех секунд ноль.

46. Для чего в PHP 5 используется тип данных “указатель“?
Такого типа данных в PHP 5 нет.

47. Какой будет результат выполнения этого скрипта?
<?php
function byRef (&$dollars) {
$dollars++;
}
$dollars = 300;
$euros = 100;
byRef ($euros);

echo “I have $dollars dollars and $euros euros.”;
?>
Ответ: I have 300 dollars and 101 euros.

48. Какой будет результат выполнения этого скрипта?
<?php
$a = 10;
$b = 4;
echo (int)$a / (int)$b;
?>
Ответ: 2,5

49. Какой будет результат выполнения этого скрипта?
<?php
$arr = array (1,2,3,4,5,6,7,8,9);
$count = count ($arr);
if ($count = 0) {
echo “Array is empty.”;
} else {
echo “Array contains $count elements.”;
}
?>
Ответ: Array contains 0 elements.

50. Какой будет результат выполнения этого скрипта?
<?php
function foo () {
static $count = 4;
return ++$count;
}
print foo ();
print foo ();
print foo ();
?>
Ответ: 567

По материалам книги: http://phpbook.comli.com/

Запись навигация

Top