在 php 中,将字符串作为多个参数传递


In php pass a string as multiple parameters

在PHP中我需要使用它

$pdf->SetXY(56, 100);

但是现在我需要变量中的参数

$paramxy= "56, 100";

PHP似乎不喜欢我写

$pdf->SetXY($paramxy);

它不会将"$paramxw"评估为两个单独的值。

当然,简单的解决方案是:

$param[x]= 56; 
$param[y]= 100;
$pdf->SetXY($param[x],$param[y]);

但我希望它更短,更易读,因为我需要很多这两行。

是否有我可以使用的类似"解析"的功能,例如这样?

$pdf_paramxy= "56, 100";
$pdf->SetXY(parse($paramxy));

本地? 不是。但您可以创建自己的:

$paramxy= "56, 100";
$params = explode(",", $paramxy);

然后,根据这一点,您可以:

call_user_func_array(array($pdf, "SetXY"), $params);

如果数组的值是字符串,则可以按每个值解析它:

foreach($params as $key => $value)
{
    $params[$key] = (int)$value;
}
call_user_func_array(array($pdf, "SetXY"), $params);

没有测试过。希望对您有所帮助。

您不能按以下方式为变量设置值$pdf_nomenfant= "56, 100";要实现你的目标,你有两种方法。

  1. 创建两个具有不同值的参数,例如$param1 = "56"; and $param2 = "100";

另一种方法是为此任务使用数组,如下所示:

  1. '$paramxy= array ("56, 100"); $pdf->SetXY(parse($paramxy));