2015-01-21 5 views
0

В настоящее время на моем сервере dev работает PHP 5.3.29. При попытке запустить is_bool() функцию на переменной, я получаю сообщение об ошибке:Звонок на неопределенную функцию is_bool()

Fatal error: Call to undefined function is_​bool() in...

Запуск echo function_exists("is_bool"); возвращается правда.

Выполнение команд на моей локальной машине с 5.3.28 дает те же результаты, но работает корректно на локальной машине моего сотрудника, работающей на 5.5.14.

Хотя the official PHP documentation говорит, что эта функция доступна на PHP 4 и 5, есть ли проблема с моими версиями PHP, препятствующими мне использовать эту функцию? Это также происходит с is_int(), is_null() и т.д.

<?php 

$Value = "random"; // Also tried integers and booleans 

echo function_exists("is_bool"); // prints 1 

echo is_​bool($Value) ? "true" : "false"; // Fatal error 
+0

Показать пример кода, где ошибка имеет место. –

+0

@u_mulder Добавлен исходный вопрос, но это все, что нужно. Это полностью отдельный тестовый файл. – jrrdnx

+0

У вас нет разрыва перед bool. Скопируйте здесь is_bool и вставьте его в свой код. – NimaNr

ответ

5

Я собирался скопировать & вставить фрагмент кода выше в http://3v4l.org/, чтобы доказать, что вы неправильно;) - и подсветка синтаксиса там показывает, что у вас есть невидимый символ между is_ и bool (в строке вы отметили комментарий // Fatal error).

Вставка его в Блокнот ++ и просмотр его в Hex-режиме показывает, что последовательность байтов e2 80 8b, и это кодированная UTF8 версия символа zero width space.

Так просто повторно введите его полностью (предположительно, что получил в там копию & оклейки его откуда-то, где выход был отформатированный в некотором роде) - и он должен работать нормально ...

+0

Не знаю, как это получилось, особенно учитывая, что это также было в функциях 'is_int()' и 'is_null()'. – jrrdnx

Смежные вопросы