Hallo!
Deine Überlegungen sind prinzipiell richtig.
print_r(3); // würde also nicht funktionieren, bzw. würde ein ETX drucken
print_r(51); // wäre richtig, um das Zahlzeichen 3 auszudrucken
Da aber in jeder mir bekannten Kodierung die Zeichen '0' bis '9' in der richtigen Reihenfolge hintereinander angeordnet sind, sind Überlegungen wie Hashtabellen viel zu umständlich.
Ich denke, dass eine simple Addition völlig ausreicht, d.h.
print_r(myNumber + 48);
sollte das Problem lösen.
Viele Grüße,
Alexander