Php setcookie不使用$value参数的字符串数组
我正在尝试这样做:Php setcookie不使用$value参数的字符串数组,php,arrays,arguments,argument-passing,setcookie,Php,Arrays,Arguments,Argument Passing,Setcookie,我正在尝试这样做: setCookie('visitor', array(0 => 'one', 1 => 'two'), time()+3600, COOKIEPATH, COOKIE_DOMAIN, false); 但我无法让它工作。php引用解释了“$value as string[optional]”,据我所知,它应该接受字符串数组作为参数。如果我对php引用(string[optional])的理解有误,请帮助我实现类似的目标,或者纠正我的错误 以下是setcookie函
setCookie('visitor', array(0 => 'one', 1 => 'two'), time()+3600, COOKIEPATH, COOKIE_DOMAIN, false);
但我无法让它工作。php引用解释了“$value as string[optional]”,据我所知,它应该接受字符串数组作为参数。如果我对php引用(string[optional])的理解有误,请帮助我实现类似的目标,或者纠正我的错误
以下是setcookie函数声明:
setcookie($name, $value, $expire, $path, $domain, $secure, $httponly);
使用序列化(数组(0=>one',1=>two'))
再次检索数组时,请使用unserialize()
否:如果php手册中说函数需要字符串。。。那么它们的意思是一根绳子。不是字符串数组
也许你被[可选]愚弄了?方括号没有任何意义。整个“[optional]”意味着可以在不使用此参数的情况下调用函数。使用序列化(数组(0=>'one',1=>'two'))
再次检索数组时,请使用unserialize()
否:如果php手册中说函数需要字符串。。。那么它们的意思是一根绳子。不是字符串数组
也许你被[可选]愚弄了?方括号没有任何意义。整个“[optional]”意味着可以在不使用此参数的情况下调用该函数。如果setcookie()
函数确实允许您重载类型,那么它将通过将数组传递到循环中来实现。因为它不支持数组,所以我会在函数外部使用foreach循环
foreach (array(0 => 'one', 1 => 'two') as $key => $value) {
setcookie('visitor[' . $key . ']', $value, time()+3600, COOKIEPATH, COOKIE_DOMAIN, false);
)
var_dump($_COOKIE);
这导致
array(1) {
["visitor"]=>
array(2) {
[0]=>
string(3) "one"
[1]=>
string(3) "two"
}
}
如果setcookie()
函数确实允许您重载类型,它将通过将数组传递到循环中来实现。因为它不支持数组,所以我会在函数外部使用foreach循环
foreach (array(0 => 'one', 1 => 'two') as $key => $value) {
setcookie('visitor[' . $key . ']', $value, time()+3600, COOKIEPATH, COOKIE_DOMAIN, false);
)
var_dump($_COOKIE);
这导致
array(1) {
["visitor"]=>
array(2) {
[0]=>
string(3) "one"
[1]=>
string(3) "two"
}
}
Cookie值必须是字符串。例如,用<代码> JSONYNECODEN/COD>将数据打包成字符串。考虑将这些数据存储在会话或数据库中。Cookie只能用作密钥容器(会话文件或数据库条目)。Cookie值必须是字符串。例如,用<代码> JSONYNECODEN/COD>将数据打包成字符串。考虑将这些数据存储在会话或数据库中。Cookie应该只作为密钥容器(会话文件或数据库条目)使用。好的,这件事成功了。但是你能解释一下这个字符串[可选]符号是什么意思吗?在php中如何将数组作为参数传递?第一个问题:添加到我的答案中。第二个问题:如果setCookie接受一个数组,那么您的方法是完全正确的。只是这个函数不接受数组,好吧。如果引用说字符串[],该怎么办?这意味着我可以传递一个字符串数组。对吗???@spartt:php指定的方法实际上是只写“array”,而不指定数组中元素的类型。@spartt:No。只是简单的“array”。检查示例:。第一个参数必须是字符串数组。文本参数描述告诉您。但是在规范行中,它只是简单地说了“数组”。好的,这东西起作用了。但是你能解释一下这个字符串[可选]符号是什么意思吗?在php中如何将数组作为参数传递?第一个问题:添加到我的答案中。第二个问题:如果setCookie接受一个数组,那么您的方法是完全正确的。只是这个函数不接受数组,好吧。如果引用说字符串[],该怎么办?这意味着我可以传递一个字符串数组。对吗???@spartt:php指定的方法实际上是只写“array”,而不指定数组中元素的类型。@spartt:No。只是简单的“array”。检查示例:。第一个参数必须是字符串数组。文本参数描述告诉您。但是在规范行中,它只是简单地说“array”。您必须小心
$key
不包含]
或其他可能破坏它的内容。您必须小心$key
不包含]
或其他可能破坏它的内容。