do you have a Wemos D1 mini?
is the button on io 0?
why do you define io 0 as D3? If you have the Wemos, then select it in Tools and Dx constants will be defined.
io 0 is a boot configuration pin. it must have a pull-up at boot to start the esp8266 in normal mode.
if you wire a button to that pin, the button should be wired to ground on the other side. the if the button is pushed down the digitalRead returns LOW (again down is LOW). If the button doesn't connect the pin to ground, the pull-up holds the pin HIGH.