que estaba hurgando PHPS fundición mecanismo, y corrió en un caso raro cuando fundición una matriz como un objetocasting una matriz con teclas numéricas como un objeto
$o = (object) array('1'=>'/foo/bar');
$o = new stdClass();
var_dump($o);
Como lo entiendo, propiedades PHP necesitan estar declarado con las mismas reglas que las variables de PHP. Eso es A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores. Sin embargo, el código anterior produce la siguiente salida
object(stdClass)#1 (1) {
[1]=>
string(8) "/foo/bar"
}
Lo que se pone realmente extraño es cuando intenta acceder a esa información en el objeto.
var_dump($o->1); // parse error
var_dump($o->{'1'}); // NULL
var_dump(get_object_vars($o)); //array(0) { }
¿Hay alguna forma para llegar a la información que el var_dump informes está en el objeto, o es sólo encerrado por el resto del ciclo de petición vida? (el uso práctico de esto es nulo, solo tengo curiosidad)
Desde mi experiencia, parece que están encerrados aunque nunca he sido lo suficientemente firme para probar todo. – jlb
este es de hecho el caso, es un problema conocido en PHP. – GSto
Es conocido como conocido por nosotros, o conocido de alguna manera por el equipo de PHP. –