PHP in_array вызывает внутреннюю ошибку сервера - PullRequest
2 голосов
/ 04 апреля 2009

Это действительно не должно быть таким сложным, что говорит о том, что я делаю что-то не так, но после проверки документов я не могу понять что.

Я пытаюсь сделать простую проверку, чтобы увидеть, есть ли тип «тега» в списке типов, которые будут использоваться во время этой операции, используя этот фрагмент кода ($ level передается как параметр) :

$filter = $this->levels[isset($this->levels[$level])?$level:'max'];
foreach($this->tags as $name => $tag)
{
    $firephp->warn($tag);
    if(in_array($tag->type , $filter) == false) continue;
    // code omitted (this is where it dies)
}

Проверка FirePHP сообщает об ошибке 500 Internal Server Error, и я на 99,9% уверен, что она здесь (как я уже сказал, это строка, когда выполнение PHP останавливается). Итак, я полагаю, что это два вопроса: как мне сделать эту работу, и почему это происходит в первую очередь?

Также, если это имеет значение, я использую Apache 2.2.11 в Windows Vista (32-разрядная версия) с PHP 5.2.9-1 и MySQL 5.1

.

ОБНОВЛЕНИЕ: Не берите в голову - оказалась синтаксическая ошибка. Если бы кто-то мог закрыть этот вопрос, это было бы здорово.

1 Ответ

3 голосов
/ 04 апреля 2009

Почему бы не включить error_reporting для получения более подробной ошибки?

error_reporting(E_ALL);
ini_set('display_errors', 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...