$t = true.false;
echo $t;
Возникнет ошибка
1
0
true
false
Пояснение: А если подробнее, то при переводе в строку(об этом говорит конкатенация точкой) булевое true превращается в строку "1", а false - в пустую строку.
$var = 1 + "-1.3e3";
echo $var;
1
1-1.3e3
Ошибка: невозможно сложить целое число и строку
-1299
$m = 9;
$n = 99;
$z = 8;
$z = $n++ / $m++ + --$z;
echo $z;
Каким будет результат его выполнения?
20
16
18
19
17
ucfirst($str);
uc_first($str);
strtoupper($str[0])
ucfirst(strtolower($str));
ucfirst(str_to_lower($str));
echo '['..2.']';
[2]
[0.2]
[.2]
Ошибка синтаксиса
Пояснение: Вторая точка вместе с двойкой ( .2 ) дает число 0.2, а другие точки есть операторы конкатенции.
1) <?php
2) $newfile = fopen("path/to/new/file/mydata.txt", "a+");
3) fwrite($newfile ++, "This is a new file.");
4) fclose($newfile);
5) echo "All done!";
Убрать ++
Поменять ++ на ==
Поменять ++ на +=
Удалить параметр "This is a new file."
Поменять ++ на &&
<script language="php">
<%
<?php
<$
<?
все из перечисленных
$arr = array(1,3,5);
$count = count($arr);
if ($count = 0) {
echo "Массив пуст.";
} else {
echo "Массив состоит из $count элементов.";
}
Массив состоит из 0 элементов.
Массив пуст.
Массив состоит из 3 элементов.
$_SERVER['DOCUMENT_ROOT']
$_SERVER['REMOTE_HOST']
$_SERVER['REMOTE_ADDR']
$_SERVER['HTTP_HOST']
Пояснение: В $_SERVER['HTTP_HOST'] находятся данные параметра запроса Host
array_walk($array, 'format_array_values', $some_var);
Применит функцию format_array_values() к каждому елементу $array
Вернет следующую пару ключ/значение из массива
Отсортирует массив
Случайным образом перемешает содержимое массива
Вернет наибольшее значение из массива или серию аргументов
function a(&$n) {
++$n;
}
function b($n)
{
return ( a($n) * $n );
}
function c($n){
a($n);
return ($n * $n);
}
echo b(5);
echo c(5);
036
3636
00
360
strpos()
strrpos()
strtr()
substr()
echo 'foo' . 42 + 'bar' . 'qwe';
foo42qwe
0
42qwe
0qwe
Пояснение:
Приоритеты операторов + и . одинаковы. Оператор + преобразует строковые операнды в числа, поэтому 'foo42' + 'bar' равно 0.
Операции выполняются по порядку слева направо. При этом каждый раз происходит преобразование типов:
1) 'foo' . 42 => 'foo' . '42' => 'foo42'
2) 'foo42' + 'bar' => 0 + 0 => 0
3) 0 . 'qwe' => '0' . 'qwe' => '0qwe'
break
exit
switch
continue
return
time() + 60*60*100 - вернет текущее время плюс один час
time() + 24*60*60 - вернет текущее время плюс один день
time() + 24*60*60*100 - вернет текущее время плюс один день
time() + 24*60*1000 - вернет текущее время плюс один день
Ничего из вышеперечисленного
string
integer
float
char
array
object
mktime
date_sunrise
date_creation
now
get_time
addslashes()
striphtmlchars()
strip_tags()
htmlspecialchars()
function newUser(&userName)
function &newUser($userName)
function $newUser($userName)
function _newUser(_$userName)
function ::newUser(::$userName)
$x = 1;
if ($x == '1') { echo 'a'; }
if ($x == true) { echo 'b'; }
if ((bool)$x === true) { echo 'c'; }
if ($x === true) { echo 'd'; }
if ((int)$x === true) { echo 'e'; }
ace
abc
abd
de
Пояснение: '===' в отличии от '==' не позволяет автоматически приводить к одному типу данных объекты сравнения.