配列のインデックスや、値を使って、一気に変数を定義するには、extract関数を使う。

<?php
$shapes = array(
'Sodacan' => 'Cylinder',
'Notepad' => 'Rectangle',
'Apple' => 'Sphere',
'Orange' => 'Sphere',
'Phonebook' => 'Rectangle'
);
extract($shapes);
//ここで、$Sodacan,$Notepad,$Apple,$Orange,$Phonebookがセットされる。
echo $Apple;
echo "<br />";
echo $Notepad;
?>

これをブラウザで表示させると、

Sphere
Rectangle

こうなる。

ただ、このままだと、連想配列でしか変数を作れない。

数値インデックスだと、変数0とか、変数1とかになってしまう。変数名の頭に数字は使えないので、

数値インデックスの配列をextract関数で変数にしたい時は、パラメーターを追加して、

接頭辞を付ける必要がある。

<?php
$shapes = array(
'Cylinder',
'Rectangle'
);
extract($shapes,EXTR_PREFIX_ALL,"shapes");
echo "shapes_0 is $shapes_0.<br />";
echo "shapes_1 is $shapes_1.";
?>

上記をブラウザで表示させれば、

shapes_0 is Cylinder.
shapes_1 is Rectangle.

が表示される。

赤字の、EXTR_PREFIX_ALLは、全ての変数に接頭辞を付けるって事。

青字のshapesは、接頭辞。

EXTR_PREFIX_ALL以外のパラメーターは、こちらを参照