我正在尝试使用php GET方法从另一个页面上的keywordBox字段创建一个关键字数组。
以下是附加到网页网址的关键字示例:
/searchResults.php?keywordBox=computing+finance
这对我来说没问题但是当我转换为JSON对象时,似乎关键字变成了单个字符串(“计算金融”)而不是字符串数组([“计算”,“财务”])
var keywords = <?php echo json_encode($_GET['keywordBox']) ?>;
alert(keywords[0]); // output "c"
我认为这会输出数组“计算”中的第一个单词,而不是输出第一个字符“c”,所以我对这些语言有点困惑和新意。任何解释都非常感激。
答案 0 :(得分:1)
keywordBox
可以是数组,只需使用以下命令更改查询字符串:
?keywordBox[]=computing&keywordBox[]=finance
否则,您可以将其保留为字符串,并explode
。
var keywords = <?php echo json_encode(explode(' ', $_GET['keywordBox'])) ?>;
答案 1 :(得分:1)
注意您正在编码的内容。
这只编码一个GET参数,而不是$_GET
超全局数组:
var keywords = <?php echo json_encode($_GET['keywordBox']) ?>;
使用您的指定网址和参数keywordBox=computing+finance
,$_GET['keywordBox']
将包含单个字符串"computing finance"
,而不是数组。如果希望参数包含数组,则需要使用数组表示法,如keywordBox[]=computing&keywordBox[]=finance
中所示。