Вы можете использовать двойной знак доллара, чтобы создать переменную с именем значения другого, например:
$idnum = "myVar";
$$idnum = new object(); // This is equivalent to $myVar = new object();
Но убедитесь, что если вам действительно нужно это сделать, ваш код может стать очень запутанным, если вам не хватает внимания или вы злоупотребляете использованием этой "функции" ...
Я думаю, что вам лучше использовать массивы или хеш-таблицы, чем загрязнять глобальное пространство имен динамически создаваемыми переменными.