很抱歉没有使用正确的术语,但鉴于我的PHP级别基本如何,也许你不会这么想。
我正在使用的插件的函数允许参数以选择性地回显内容:
<?php phpquote(argumentstring); ?>
参数字符串的一个例子是例如的自动刷新= 0&安培;标记= A,B,C
我一直认为可以使用数组来构建一个&#39;字符串&#39;例如
之类的东西<?php $arg=array( 'auto_refresh' => '0', 'tags' => 'a,b,c' );
phpquote($arg); ?>
因此我想我可以从其他领域引入其他内容,例如
<?php
$fieldcontent = get_field("field_content");
$arg=array( 'auto_refresh' => '0', 'tags' => $fieldcontent );
phpquote($arg); ?>
然而,这似乎不起作用,所以我的两个问题是:
提前致谢。我很欣赏这可能看起来像一个非常基本的问题,术语不正确(抱歉!)所以希望对专家有意义。
答案 0 :(得分:2)
循环遍历数组并使用implode()
功能将各个部分粘合在一起。
manual
或者你也可以这样做:
$argumentString= "";
foreach($arg as $k=>$v){
$argumentString.= $k.'='.$v.'&';
}
$argumentString = substr($argumentString,0,-1); //removes the last &
答案 1 :(得分:2)
您可以使用implode()
和array_map()
PHP函数将数组转换为参数字符串:
<?php
$args = array( 'auto_refresh' => '0', 'tags' => 'a,b,c' );
function rb_map( $a, $b ) {
return $a . '=' . $b;
}
$arg_string = implode('&', array_map( 'rb_map', array_keys($args), $args ) );
//var_dump($arg_string);
?>
答案 2 :(得分:2)
<?php
$arg=array( 'auto_refresh' => '0', 'tags' => 'a,b,c' );
echo urldecode(http_build_query($arg)); //output: auto_refresh=0&tags=a,b,c
?>
这是你想要的吗?
检查http_build_query以获取更多信息
答案 3 :(得分:1)
是否可以使用数组作为函数的参数取决于函数本身的定义/使用方式。
以此为例:
function test($var) {
print_r($var);
}
$bla = array(1 => "test me", 2 => "balbla");
test($bla);
(您可以使用 here )
您可以传递字符串或数组作为test
函数的参数,因为print_r
能够处理这两者。例如,如果函数有echo
,并且您将数组作为参数传递给函数,则它将失败。