将数组传递给php中的函数

时间:2012-10-08 15:47:51

标签: php function

我有一个由此查询创建的数组:

$run=0;
$result = $conn->query("SELECT distinct isbn13 from inventory 
                        WHERE quantity>0 and isbn13 like '978%' limit $run, 20");

while($image = $result->fetch_assoc())
{
    $isbn[$x] = $image['isbn13'];  
    $x++;
} //end while

我需要将它传递给这个函数:

$parsed_xml = ProductId_xml($isbn);

我知道$ isbn中有信息因为我使用了print_r($ isbn);并看到了阵列。但是,当我在函数中执行相同操作(var_dump($ searchterm); die;)时,我得到NULL。 以下是该功能的一部分:

count=0;

function ProductId_xml($searchTerm) {
    var_dump($searchTerm); die;

    $params = array(
        'AWSAccessKeyId' => AWS_ACCESS_KEY_ID,
        'Action' => "GetMatchingProductForId",
        'SellerId' => MERCHANT_ID,
        'SignatureMethod' => "HmacSHA256",
        'SignatureVersion' => "2",
        'Timestamp'=> gmdate("Y-m-d\TH:i:s.\\0\\0\\0\\Z", time()),
        'Version'=> "2011-10-01",
        'MarketplaceId' => MARKETPLACE_ID,
        'IdType' => "ISBN",
    );

    $id=array(explode(',',$searchTerm));

    foreach ($id as $newId)
    {
        $count .= $count +1;    
        $params += array('IdList.Id.'.$count => $newId);
    } //end of foreach  

如何将信息输入我的功能?

3 个答案:

答案 0 :(得分:1)

PHP的变量名称区分大小写,因此$searchterm$searchTerm是不同的变量。

尝试var_dump($searchTerm); die;

答案 1 :(得分:1)

传入变量$searchTerm应该是一个关联数组。你不需要爆炸它。您应该只能通过说$searchTerm['key']或使用foreach循环来访问信息。

foreach ($searchTerm as $key=>$val) { 
    $params['IdList.Id.'.$key] = $val;
} //end of foreach  

答案 2 :(得分:1)

问题在于:

function ProductId_xml($searchTerm) {
    var_dump($searchterm); die;

$ searchTerm $ searchterm 不同。试试:

var_dump($searchTerm); die;

应该有效