Pull to refresh

Comments 42

На вопрос 2 нет правильного ответа. Должно быть
0 => flour
1 => wheat
cupcake
Да, исправил. Спасибо за внимательность :)
Заголовок спойлера
1) 2
2) 3
3) 1
4) 3
5) 4
6) 4
7) 3
8) 3
Не ошибка ли в вариантах ответа третьего вопроса?
Заголовок спойлера
1. 2
2. 3
3. 1 (но подозреваю, что ошибка в вариантах ответа — даже без имплементации Traversable должно работать, выбрал этот вариант, как самое слабое условие)
4. 3
5. 4
6. 4
7. 3
8. 3
Один
Array ( [0] => 1 [1] => 2 [2] => 2 )

Два
Parse error: syntax error, unexpected 'millWheat' (T_STRING)

Три
Foo Object ( )

Четыре
Для сортировки PHP использует реализацию quicksort, которая может быть найдена в Zend/zend_qsort.c, которая выполняет функцию сравнения и массив элементов, Функция сравнения по умолчанию для sort() определена в ext/standard/array.c и называется php_array_data_compare(). В принципе, это тот же алгоритм для всех функций сортировки, за исключением того, что они выполняют разные функции сравнения.


Шесть
bool(true) bool(false)

Семь
3. Странная последовательность

Заголовок спойлера
1. 2
2. 3
3. 1
4. 3
5. 4
6. 4
7. 3
8. 3
Ответы
1 — 2
2 — 3
3 — 1
4 — 3
5 — 4
6 — 4
7 — 3
8 — 3
спойлер
1-1
2-3
3-3 Навскидку
4-1 навскидку
5-4
6-4
7-3
8-3
Заголовок спойлера
1) 2
2) 3
3) 1
4) 3
5) 4
6) 4
7) 3
8) 3
Заголовок спойлера
1) 2
2) 3
3) 1
4) 3
5) 4
6) 4
7) 3
8) 3
Заголовок спойлера
1) Ответ: 2. Array(1, 2, 2) т.к. во втором переборе в $value находится ссылка на последний элемент массива при первом переборе

2) Ответ: 3. В 7 пыхе генераторы довольно сильно расширили, теперь можно получать делать getReturn. Давно не писал на 5, долго искал в чем подвох в задаче.

3) Ответ: 1. На сколько я помню оператор… разворачивает итерабельные. А интерфейс Traversable напрямую вообще нельзя реализовывать.

4) Ответ: 3.

5) Ответ: 2. К статичным замыканиям нельзя биндить инстансы.

6) Ответ: 4. Тут подвох в приоритете операторов. Хоть операторы && и and похожи они имеют разные приоритеты. Из-за этого в выражении $c = $a and $b; сначала будет присвоено значение переменной $c.

7) Ответ: 3. Привет Perl)

8) Ответ: 3. Ключевое слово yield будет означать что данный метод вернет генератор. Который ничего не выбросит.
Ответы и чуть-чуть комментов для неочевидного
1) 2 (но можно сделать unset($value) между циклами, чтобы пофиксить)
2) 3
3) 1
4) 3
5) $this нельзя использовать в контексте static функции, подозреваю что это 2
6) 4 (потому что у and приоритет ниже чем у присваивания)
7) 3 (да, пхп инкрементит строки по алфавиту)
8) 3 (потому что test() возвращает генератор, но yield никогда не вызовется)
Заголовок спойлера
1. 2
2. 3
3. 1
4. 3
5. 3
6. 1
7. 3
8. 3
По второму вопросу: какая версия PHP имеется в виду?
Ведь из документации:
Предостережение
Если вы используете «yield» в контексте выражения (например, в правой части оператора присвоения), вы должны окружить «yield» круглыми скобками. Например, так правильно:
$data = (yield $value);

А вот это неправильно и вызовет ошибку синтаксиса в PHP 5:
$data = yield $value;

В PHP 7 этого ограничения нет.
Заголовок спойлера
1. 2
2. 3
3. 1
4. 3
5. 3
6. 1
7. 3
8. 3
PHP - зло, но приятное и доброе
1. 2
2. 3
3. 1
4. 3
5. 4
6. 4
7. 3
8. 3
Заголовок спойлера
1. 2
2. 3
3. 1
4. 3
5. 4
6. 4
7. 3
8. 3
А будет объяснено почему именно так работает код?
Да, конечно объясним
Заголовок спойлера
1 — 2
2 — 3
3 — 1
4 — 3
5 — 4
6 — 4
7 — 3
8 — 3
Сесурити
1 — 2
2 — 3
3 — 1
4 — 3
5 — 4
6 — 4
7 — 3
8 — 3
Ответы. Надеюсь правильные. :)
1. 2
2. 3
3. 1
4. 3
5. 4
6. 4
7. 3
8. 3

Sign up to leave a comment.