可変変数(既出http://php.net/manual/ja/language.variables.variable.php)と
連想配列からローカル変数を生成するextract(http://jp.php.net/manual/ja/function.extract.php)が使えます。
$animal=array("いぬ", "ねこ","インコ");
foreach ($animal as $id=>$value) {
$name = 'animal'.($id+1);
$$name = $value;
}
注意:シーケンシャルな番号として配列の添字($id)を使っていますが場合によっては違うこともあるので明示的にした方がいいかもしれません。
$animalを連想配列にすることができるのであればextractするだけなので便利です。
そうでない場合は一旦$animalを連想配列にしてextractすることになります。
$names = array(); foreach ($animal as $id=>$value) $names[] = 'animal'.($id+1); $animal_h = array_combine($names, $animal); //$animal_h = array('animal1'=>"いぬ", 'animal2'=>"ねこ",'animal3'=>"インコ"); extract($animal_h);
?>