Citar
Tienes razón no solo es un string pero esto no vendría siendo un plus de PHP?, ya que al contrario de C/C++, se podría manejar tanto como un todo(string) y como un arreglo de caracteres.
Emm, parece increíble pero no. En PHP los strings son arrays de bytes.
http://php.net/manual/es/language.types.string.php
Lo puedes leer un poco mas arriba de: Ejemplo #9 Algunos ejemplos de cadenas.
Citar
Advertencia
Internamente, las cadenas de PHP son arrays de bytes. Por tanto, acceder o modificar una cadena utilizando los corchetes de array no es seguro con caracteres multi-byte,
Internamente, las cadenas de PHP son arrays de bytes. Por tanto, acceder o modificar una cadena utilizando los corchetes de array no es seguro con caracteres multi-byte,
Citar
Por lo mismo en PHP, es más fácil hacer el cambió, independiente de que internamente haga el recorrido carácter por carácter, al programar simplemente especificaras una función nativa como strtolower() y listo, al contrario que en C/C++ tendrías que recorrer carácter por carácter o quizás se pueda hacer lo mismo pero incluyendo alguna librería.
Te lo enseñe mas que nada para que veas que no es mas que una función. Podrías hacer una función en C que se encargue de convertir el string de la misma forma. Significa que PHP ya trae esas funciones para ayudarte a no tener que escribirlas tu, pero sigue trabajando de la misma forma que C.
Saludos