2016-11-16 6 views
0

私は関数のパラメータにキーを定義した配列を渡そうとしていますが、関数を呼び出すと、配列の数値キーのセットが作成されます。同じ鍵を使うにはどうすればいいですか?あなたは空の配列自動番号れ配列をキー名phpで関数に渡しますか?

<?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); 
+3

'$のURL [$キー] = "{$キー} = {$ valの}":新しい$url -arrayが今のようになります

// Since you get the key in your foreach loop, just add it like this: $url[$key] = "{$key}={$val}"; 

:あなたは、キー名を定義する必要があります;おそらく?私はあなたの質問を正しく理解した。 –

答えて

1

:もちろん

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

を、あなたがキーが同じようにしたい場合は、$url[$key] = "{$key}={$val}";を使用することができます0 から始まる番号が付けられます。

1

あなたが使用して配列に新しい項目を追加する場合:$array[] = "something"を、それが追加されますインデックス付きのキー[0 => 'something', ...]あなたが連想(非配列決定または文字列)キーで新しいアイテムを追加したい場合は常に0

で始まります

[ 
    "foo" => "foo=bar", 
    "bar" => "bar=foo" 
] 
関連する問題