[英]How to select string from an array of strings or a csv?
我需要为一个俱乐部创建一个网站,该网站显示下拉菜单中各项之间的关系。 例如,我们用剪刀石头布。 数据将由.csv文件提供,例如以下.csv文件:
; Stone; Scissors; Paper
Stone; Nothing happens.; Scissors get scattered.; Paper wraps stone.
Scissors; Stone scatters Scissors.; Nothing happens.; Paper gets cut.
Paper; Stone gets wrapped.; Scissors cut Paper.; Nothing happens.
我需要阅读.csv并生成select语句(第一行用于第一行,第二行用于第一列),其结果将是这样(2x):
<b>Your Choice:</b>
<select id="yours" onchange="battle()">
<option style="display:none" disabled selected value> -- select an option --
</option>
<option>Stone</option>
<option>Scissors</option>
<option>Paper</option>
</select>
至此,我在.php中运行了所有这些文件(阅读csv,生成下拉列表)。
现在,我不确定正确的Web开发方法:1.如何在pho脚本的输出中存储表,以便可以使用js进行干净访问? 2.如何从所述表中获取值?
伪代码的解决方案:
<script>
<my clean array data>
function battle() {
var x = document.getElementById("yours").value;
var y = document.getElementById("opponent").value;
var result = array.select(mine = x, opponent = y)
document.getElementById("result").innerHTML = result;
}
</script>
用表值设置一个javascript对象将是解决此问题的一种简单方法。
在php中,您希望有一个具有此结构的数组,该数组是从CSV文件生成的,您可能已经具有此数组或类似的东西:
$a = [
"Stone" => [
"Stone" => "Nothing Happens.",
"Scissors" => "Scissors get scattered (shattered?).",
"Paper" => "Paper wraps stone."
],
// ... "Scissors" and "Paper" go here
];
然后,您需要写出一行javascript,将php数组编码为javascript对象:
<script>
var resultsTable = <?php echo json_encode($a); ?>;
</script>
然后,您的战斗功能将变为:
function battle() {
var x = document.getElementById("yours").value;
var y = document.getElementById("opponent").value;
var result = resultsTable[x][y];
document.getElementById("result").innerHTML = result;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.