Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php更改url的数组格式_Php_Html_Arrays_Format - Fatal编程技术网

php更改url的数组格式

php更改url的数组格式,php,html,arrays,format,Php,Html,Arrays,Format,我正在做一个奇怪的项目。我对php完全陌生,所以到目前为止,这是一场斗争 我有一个表单,它给出了一个数组并将其发布: ... return($keywords); } $keywordlist = explode("\r\n", $keywordlist); foreach($keywordlist as $keyword){ print_r(mixer(strtolower($keyword))); } 我明白了: Array ( [0] => one [1] => two [

我正在做一个奇怪的项目。我对php完全陌生,所以到目前为止,这是一场斗争

我有一个表单,它给出了一个数组并将其发布:

...
return($keywords);
}

$keywordlist = explode("\r\n", $keywordlist);
foreach($keywordlist as $keyword){
print_r(mixer(strtolower($keyword)));
}
我明白了:

Array ( [0] => one [1] => two [2] => three [3] => four [4] => five [5] => six [6] => ....
但我希望它是这样的:

%28one%2Ctwo%2Cthree%2Cfour%2Cfive%2Csix%29
最终希望能够将其附加到类似ask.com搜索的url末尾:

"http://www.ask.com/web?q=(put my keywords here)"
然后导航到那里

理论上,这就像我在搜索栏中键入“(一、二、三、四、五、六)”然后按enter键一样

希望这有点道理

使用php函数

所以你可以这样做:

$array = new array ( [0] => one [1] => two [2] => three [3] => four [4] => five [5] => six );
$string = '%28'.implode( '%2C', $array ).'%29';
现在,
$string
将是您所需要的

类似以下内容:

$commaSeparated = implode(',', $array);
$withParens = '(' + $commaSeparated + ')';
$urlEncoded = urlencode($withParens);
print $urlEncoded;

您可以使用urlencode对数组的每个部分进行编码,然后手动将其放入url(自己制作url字符串)


或者您可以改用此函数:

print\r
就是这样打印阵列的

如何解决这个问题取决于几件事。
mixer()
做什么?关键词总是小写的吗?如果mixer没有太多功能,并且关键字是小写的,您可以执行以下操作:

$string='%28'。内爆(“%2C”, $keyword)。'%29';

如果是URL编码,则可以使用函数
URL\u encode
,而不是像上面那样手动添加编码值。

此代码:

$keywords = array('one', 'two', 'three');
$query = '(' . implode(',', $keywords) . ')';
echo('Search query: ' . $query . PHP_EOL);
$query = rawurlencode($query);
echo('Encoded: ' . $query . PHP_EOL);
给出此输出:

搜索查询:(一、二、三)编码: %281%2C2%2C3%29

像这样的

$input = array('one', 'two', 'three');
$s = implode(',', $input);
$s = '('.$i.')';
print urlencode($s);
并使用函数对特殊字符进行编码,如
&
和查询字符串中要使用的其他字符。
$input = array('one', 'two', 'three');
$s = implode(',', $input);
$s = '('.$i.')';
print urlencode($s);