Du machst es Dir zu schwer.
<?php
$d1 = '2018-10-22 02:00';
$d2 = '2018-10-23 01:59';
# Splitten, um Tag und Uhrzeit zu trennen
$d1 = explode( ' ', $d1 );
$d2 = explode( ' ', $d2 );
# Uhrzeit weglassen, Zeitpunkt (Sekunden seit 1.1.1970) ermitteln
$d1 = strtotime( $d1[0] );
$d2 = strtotime( $d2[0] );
# Differenz:
$interval = $d1 - $d2;
### Eine von vielen Alternativen ###
# $d1 = preg_replace( '/ [0-9]{1,2}:[0-9]{1,2}$/', '' , $d1 );
# $d2 = preg_replace( '/ [0-9]{1,2}:[0-9]{1,2}$/', '' , $d2 );
# $d1 = strtotime( $d1 );
# $d2 = strtotime( $d2 );
# $interval = $d1 - $d2;
####################################
# Für Ausgabe durch 84600 dividieren
echo $interval / ( 60 * 60 * 24 );