dqdz6464 2016-11-16 15:59
浏览 8
已采纳

通过键名称php传递数组?

I'm trying to pass an array that has defined keys into a function parameter, but when I call the function it creates it's own set of numeric keys for the array. How can I make it use the same keys?

<?php

$param = [
"foo" => "bar",
"bar" => "foo",
];

function amazonRequest($AmazonQuery) {
    $url = array();
    foreach ($AmazonQuery as $key => $val) {

    $key = str_replace("%7E", "~", rawurlencode($key));
    $val = str_replace("%7E", "~", rawurlencode($val));
    $url[] = "{$key}={$val}";

    print_r($url);
 }
}

amazonRequest($param);
print_r($param);
  • 写回答

2条回答 默认 最新

  • dongrou2920 2016-11-16 16:07
    关注

    You are autonumbering an empty array:

    $url[] = "{$key}={$val}";

    Of course it will be numbered starting from 0. You can use $url[$key] = "{$key}={$val}"; if you want the keys to be the same.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?