Вы можете получить строковое представление значений через ini_get(), значения, которые display_errors
может быть установлен либо, true\false
, 0\1
и On\Off
. Но когда пользователь установить их php.ini
это чаще использовать 1
или On
if (ini_get('display_errors') == "1") {
// show debug info
}
или проверить наличие ВСЕХ случаев можно выполнить включение случае
ini_set('display_errors', 1);
switch (ini_get('display_errors')) {
case "1":
case "On":
case "true":
// show debug info
}
Если вы предпочитаете равенство что ini_get
возвращает значение String
1
, если вы проверите возвращаемое значение с помощью ini_get
с использованием ==
с int
значением 1
, это становится правдой. Если вы используете ===
, он проверяет, равны ли они одинаковые и одинаковые. String
- это не тот же тип, что и int
, поэтому он вернет false
.
1 == "1"; // in PHP, this returns true, it doesn't check the type.
1 === "1"; // would be false, this however checks the type.
Использование ini_get('display_errors')
вы можете проверить против значений, как, TRUE
, FALSE
и даже NULL
. Они вернут логическое значение либо 0
, которое равно false
, и ничего, кроме 0
, оценивает true
.
if (2) {
echo "2 is true!"; // echos "2 is true!"
}
Я видел ваш комментарий о несоответствии, поэтому я решил проверить это сам, вот что я использовал
<?php
ini_set('display_errors', 1);
$verbose = ini_get('display_errors');
echo $verbose; // echo's 1
// just to test its return values.
if ($verbose) {
echo "verbose is true"; // echos "verbose is true"
}
ini_set('display_errors', 0);
$verbose = ini_get('display_errors');
echo $verbose; // echo's 0
if ($verbose) {
echo "verbose is not true"; // does not get evaluated
}
?>
Этот ответ немного длинно, но я надеюсь, что это то, что вам нужно.
Технически это строка, и некоторые люди устанавливают ее в положение «включено». Поэтому, хотя вы можете просто проверить, равно ли оно 1, это не сработает, если вы работаете в странной среде. Таким образом, это не является надежным. –
Слишком просто. >> ini_set ('display_errors', 'On'); $ verbose = ini_get ('display_errors') == 1; << Verbose теперь false, несмотря на «On». –
Устанавливается в On в php.ini, но когда вы вызываете 'ini_get', он возвращает 1, является ли его строка или int –