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

时间:2013-11-08 11:43:09

标签: php

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));

2 个答案:

答案 0 :(得分:1)

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

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

然后,根据this,你可以:

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);

未测试过。希望它有所帮助。

答案 1 :(得分:0)

您无法以下列方式为变量设置值$pdf_nomenfant= "56, 100"; 为实现目标,您有两种方法。

  1. 使用不同的值创建两个参数,例如$param1 = "56"; and $param2 = "100";
  2. 另一种方法是使用数组执行此任务,如下所示:

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