如何使用php数组作为HTML <option>
的值?
e.g。
<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 :(得分:4)
这取决于你最终要归档的内容。我有3种选择:
1)Json非常灵活:
<option value="<?php json_encode($yourArray) ?>">Font 1</option
稍后您可以使用json_decode将Json转换回数组。
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" />
你显然必须逃避你的价值观。但是你明白了。
答案 1 :(得分: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>
答案 2 :(得分:0)
我认为最适合您的方法是使用逗号分隔值,即
<select name='myname'>
<option value='Yeseva One, serif'</option>
</select>
并且在php中你可以将结果内爆到数组
$array_of_results = implode( $_POST['myname'] );
答案 3 :(得分:0)
您是否尝试根据阵列中设置的选项创建选择表单?
如果是这样,你可以这样做:
<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>