what is abstraction in php

differences between interface and abstract class
the question arises when we need and use abstract class
actually it gives us concrete base function while implementing child abstract functions so they can easily take inheritance feature without manipulating base class.
there follow some concepts about interface and abstract class interface
interface can have multiple methods and they are abstract while in abstract class it is not necessary that method should be abstract.

interface only within defined methods are working but in abstract class we can define and declare methods.

abstract class methods can be protected or public or both
whereas interface methods can only be public.
in abstract class single level and multiple level inheritance is possible where as multiple and multiple level type inheritance is possible.
one common point is of interest that the above line says that in abstract class single level and multiple level inheritance is possible
it means that while writing class we can use one or more inheritance at the same class
while in interface many inheritance of same type at many levels we can define and implement.