PavelFokeev: var_dump("\x00\x00\x00\x00\x63\x03\x67" === hex2bin("00000000630367"));
// bool(true)
Кстати нуль-терминированная строка, это строка содержащая на конце символ '\0', только на конце. У Вас же бинарные строки.
К сожалению, вы не разобрались с тем, как работает экранирование символов в PHP, поэтому в листинге #2 нет какой-то мелкой опечатки, которую можно исправить и всё заработает - нужно написать совсем по-другому. Я бы переписал так: