I don't know PHP but if the point was to see if you could write the algorithm, I can show how I'd approach this in C. (Untested code here.)
int atoi(char *s)
{
int val = 0;
while (*s)
{
val *= 10;
val += (*s) - '0';
s++;
}
return val;
}