我希望能够创建像
这样的数组$array = array("one", "two", "three");
使用逗号分隔的字符串
我试过了:
$queue = explode(',', $_GET["q"]);
但它没有创建数组。
当我使用
时foreach($queue as $q) {
echo $q;
}
它只显示逗号分隔字符串中的一项而不是所有项目。
如果我使用我的代码的第一部分($array = array("one", "two", "three");
)
然后使用foreach循环,它工作正常
$_GET["q"]
的值为one,two,three
更新:
我的完整代码是:
$_GET["q"] == '402,403';
$queue = explode(',', urldecode($_GET["q"]));;
foreach($queue as $q) {
$asm = new AGI_AsteriskManager();
if($asm->connect()) {
$result = $asm->Command("queue show $q");
}
$asm->disconnect();
foreach(explode("\n", $result['data']) as $line) {
if(preg_match("/talktime/i", $line) && !preg_match("/default/i", $line)) {
$pieces = explode(" ", $line);
echo $pieces[2];
}
}
}
$pieces[2]
只回显一次 - 它至少应回显0
,但它只显示0
一次
答案 0 :(得分:0)
假设你的字符串是"一,二,三"
<?php
$_GET["q"] = "one,two,three";
$queue = explode(',', $_GET["q"]);
print_r($queue);
?>
<强>输出强>
Array
(
[0] => one
[1] => two
[2] => three
)
答案 1 :(得分:0)
在通过URL传递长值时,使用在编码要在URL的查询部分中使用的字符串时使用的urlencode
,作为将变量传递到下一页的便捷方式。
$yourstring = "one,two,three"; // your string
$final = urlencode($yourstring); // url encode it
header("location:yourpage.php?q=$final"); // pass through URL
尝试使用urldecode
,
$finalarray = explode(',', urldecode($_GET['q']));