Как именно оператор космического корабля PHP сравнивает строки, массивы и объектыPhp

Кемеровские программисты php общаются здесь
Anonymous
Как именно оператор космического корабля PHP сравнивает строки, массивы и объекты

Сообщение Anonymous »


Мне интересно, как оператор космического корабля PHP сравнивает строки, объекты и массивы. Например, приведенный ниже код.

echo "Это я в SO" "Это я в SO"; вернет 0, поскольку я знаю, что все символы одинаковы, количество одинаковое. Но если у меня есть код, подобный приведенному ниже:

echo "Это я в ТАК" "Это я в ТАК"; Он вернет 1, что означает, что левая часть больше правой, но как? Сравнивается ли значение ASCII?

Теперь перейдем к массивам. Приведенный ниже код вернет 0, поскольку оба массива равны по счетчику, значениям и значениям в каждом индексе.

echo [1,2,3] [1,2,3]; Но приведенный ниже код возвращает -1

echo [1,2,3] [3,2,1]; И я не понимаю, почему? Как этот оператор сравнивает массивы и как он вычисляет, что массив слева меньше массива справа? То же самое касается и объектов.

Может ли кто-нибудь дать подробный ответ, как это работает со строками, массивами и объектами?

Спасибо

Вернуться в «Php»