PHP немного странный в том смысле, что он обрабатывает строку в числовом сравнении как 0. Вы можете вызвать сравнение строк, заключив переменные в кавычки:

щен тем, с чем столкнулся в сценарии, над которым работал. У меня было следующее:

function getPart($part)
{
    $array = array('a', 'b', 'c');
    if ($part == 'first') $part = 0;
    if ($part == 'last') $part = count($array) - 1;
    if (isset($array[$part])) return $array[$part];
    return false;
}

$position = 0;
echo getPart($position);

Итак, если бы я попробовал строку «first», я должен получить «a» в качестве вывода. Со строкой «last» я должен получить «c» и так далее. Когда я запускаю скрипт выше, с PHP 5.3, я получаю "c" ...

В замешательстве я провел быстрый тест ...

var_dump(0 == 'first');
var_dump(0 == 'last');

Оба возвращаютсяTRUE ...ПОЧЕМУ??? Я так смущен этим поведением!

Ответы на вопрос(4)

Ваш ответ на вопрос