2011-02-06 22 views
40

で配列のキーから新しい変数を作成します。私はこのような配列を、持っていると仮定PHP

$foo = array('first' => '1st', 
      'second' => '2nd', 
      'third' => '3rd'); 

は、どのように私は、配列のうち、キーを選択し、それらを自分の変数を作ることができますか? 例えば、配列$fooはなる:

$first = '1st'; 
$second = '2nd'; 
$third = '3rd'; 

私はOOPを支援するMVCフレームワークを作成しています、と私は見るローディング関数に変数を渡すために、ユーザをしたいと思いますので、私はこれを聞いて、どの配列の名前を知らなくても、テンプレート内の変数を使用することができます。例えば

$array = array('title' => 'My blog!' [...]); 
$this->load->view('view.php', $array); 

view.php:

echo $title; 

出力:

私のブログ!

+0

P.S.例はcodeIgniter right –

+0

からです。これは正確に質問するのには関係ありません。他の場合では、同じ順序でより小さい値の配列を持つ場合は、よりIDEに優しいlist()によって割り当てることもできます。 '$ info = array( 'coffee'、 'brown'、 'カフェイン');リスト($ drink、$ color、$ power)= $ info; ' –

答えて

20

あなたはこれを行うことができます。これは、一般的しかし、落胆していることを

foreach($foo as $key => $value) { 
    $$key = $value; 
} 

echo $first; // '1st' 

注:

foreach($foo as $k => $v) { 
    $$k = $v; 
} 
+3

+1、可変変数の使い方がいいです:) –

4

簡単な方法は、変数の変数を使用することです。変数がテンプレート内で有効になるように、テンプレートシステムを変更する方がよいでしょう。それ以外の場合は、衝突に関する問題があり、その存在などをテストする必要があります。

関連する問題