2011-12-10 10 views
1

PHPの配列をHTML <option>の値として使用するにはどうすればよいですか?HTMLフォーム/ php:selectオプション値=配列

<select name='myname'> 
    <option value=' array("font-family" => "font-family: 'Yeseva One', serif","font-name" => "Yeseva One","css-name" =>"Yeseva+One")'> 
    Font 1 
    </option> 
    ... 
</select> 
+0

eeee ...これは有効なPHPではない、ご存知ですか? – ajreal

答えて

3

それは一種のあなたが最後にアーカイブするかに依存します。

1)JSONはかなり柔軟です:

<option value="<?php json_encode($yourArray) ?>">Font 1</option 

あなたは、後で上のjson_decodeバック配列にJSONを変換することができ、私はあなたのための3つのオプションを持っています。

2)サーバー・クライアント側のスクリプトのためのデータが必要な場合、おそらくHTML5のデータを使用するための良いアイデア属性を次のようになります。

<option value="value1" data-fontname="Yeseva One" data-cssname="Yeseva+One">Font 1</option> 

3)あなたはあなたをできるようになる、隠し入力フィールドを使用することができます$ _POST ['font1'] ['css_name']などの値を取得します。 :

<input type="hidden" name="font1[font_name]" value="Yeseva One" /> 

明らかに値をエスケープする必要があります。しかし、あなたはその考えを得る。

0

私はあなたのための最良のアプローチは

<select name='myname'> 
<option value='Yeseva One, serif'</option> 
</select> 

、あなたが

$array_of_results = implode($_POST['myname']); 
+0

私はそれが私が探しているのか分からない。 $ _POST [ 'MYNAME'] [ 'フォント名'] – prestarocket

0

があります配列に結果を内破することができ、PHP、すなわちコンマで区切って値を置くことだと思います配列に設定したオプションに基づいて選択フォームを作成しようとしていますか?

もしそうなら、あなたはこれを行うことができます:

<select name="myname"> 

    <?php 

    $selects = Array('Verdana' => 'font-family: Verdana;', '\'Trebuchet MS\', Helvetica, Arial, sans-serif' => 'font-family: \'Trebuchet MS\', Helvetica, Arial, sans-serif;'); 

    foreach($selects as $select => $css) { 

     echo '<option value="' . $css . '">' . $select . '</option>'; 

    } 

    ?> 

</select> 
+0

いいえ、exemple用: ' ' PHPでは、私は自分の価値 – prestarocket

1

を私はあなたが配列をserializeことができると思います。

<?php 

$arrYourArray = array(
"font-family" => "font-family: 'Yeseva One', serif", 
"font-name" => "Yeseva One", 
"css-name" =>"Yeseva+One"); 

?> 

<select name="myname"> 
    <option value="<?php echo serialize($arrYourArray); ?> "> 
    Font 1 
    </option> 
    ... 
</select> 
+0

それは私の問題のために最善の解決策、THXから[Y]にアクセスしたいです – prestarocket

関連する問題