2011-06-20 16 views
2

フォームから処理する必要がある入力があります。フォームからの入力数は、アプリケーションの言語数によって異なります。例えば、私は英語とフランス語をサポート言うことができます:「1」と「2」は、それぞれ英語とフランス語のIDで PHP - 爆発した文字列による配列の作成

$input = array(
    'name_1' => 'Some input in english', 
    'content_1' => 'Some long text in english', 
    'name_2' => 'Some input in french', 
    'content_2' => 'Some long text in french' 
); 

...。私がしたいことは、文字列を爆発させることです:

foreach($input as $key=>$val) 
{ 
    $exploded = explode('_', $key); 
    $arr = $exploded[1]; 
    $key = $exploded[2]; 
} 

..そして、それらを別々の配列に押します。 2つの言語、つまり10があることに注意してください.2つの配列を初期化し、$キーとして '1'または '2'をチェックするだけでは機能しません。

各値を配列にプッシュすると、どうすればこのような配列になりますか?

$results = array('1' => array('name' => 'Some input in english', 'content' => 'Some long text in english'), '2' => array('name' => 'Some input in french', 'content' => 'Some long text in french'); 

ありがとうございます。私が持っていた1つのアイデアは、ユニークなキー値のカウントに基づいて2つの配列を初期化することでしたが、最初にこのようなもののための関数のためにこれを行う "正しい"方法があるかどうかを確認したいと考えました。

答えて

3

このような機能はありますか?

$results = array(); 
foreach($input as $key=>$val) 
{ 
    $exploded = explode('_', $key); 
    $results[$exploded[1]][$exploded[0]] = $val; 
} 
+0

Yea!それは働いた=)。どうもありがとう! –

関連する問題