Почему эти значения равны в php?
Мануал тебе ответит https://www.php.net/manual/ru/types.comparisons.php
Когда используете не строгое сравнение строки и целого числа то происходит не явное преобразование типов
Фактически делается (int)'строка' и потом значения сравниваются
И да, в документации про всё это написано

<?php
var_dump( 
    (int) ('         ')
);

var_dump(
    (int) ('_')
);

var_dump(
    (int) ('1 1')
);

int(0)
int(0)
int(1)