Dans l'usage courant de PHP, il est impossible de créer une propriété dont le nom est un entier.
Par exemple :
<?php
$instance = new stdClass();
$instance->12 = 'ma clé est un entier';
print $instance->12;
Doit lever une exception du type :
Parse error: syntax error, unexpected T_LNUMBER, \
expecting T_STRING or T_VARIABLE or '{' or '$' [...]
Cependant, il est possible de contourner cette limitation en déclarant le nom de la variable avec d'autres manières.
La première, en encapsulant l'entier entre chevrons:
<?php
$instance = new stdClass();
$instance->{12} = 'ma clé est un entier';
print $instance->{12};
die("\n");
La deuxième en passant l'entier par une variable:
<?php
$property_name = 12;
$instance = new stdClass();
$instance->$property_name = 'ma clé est un entier';
print $instance->$property_name;
J'ai testé sur PHP 5.2.6 (cli) (built: Sep 19 2008 11:28:54)