對於構建url查詢,我需要將數組的一個值(鍵)與另一個數組的所有值(值)組合。每個組合的key =>值都需要添加到數組中。結合數組中的一個值到另一個數組的所有值php
這裏的問題是我可以在兩個foreach語句中組合兩個數組的值,但它會爲每個實例創建一個新數組。
更新 重複是不可能的,所以我的初始輸出是正確的。
$array1 array(
[0] => music
[1] => product
)
$array2 array(
[0] => '));waitfor delay '0:0:TIME'--1
[1] => '[TAB]or[TAB]sleep(TIME)='
)
public static function create_combined_array($array1, $array2)
{
$newArray = array();
foreach ($array1 as $key){
//key = [music]
foreach ($array2 as $value) {
//one of the values is = '));waitfor delay '0:0:__TIME__'--1
array_push($newArray, [$key => $value]);
}
}
return $newArray;
}
實施
$query_array = Utils::create_combined_array($params, $payload_lines);
print_r($query_array);
$query = http_build_query($query_array);
$this->url = $baseUrl . '?' . $query;
Build query output
protocol://localhost:8000?music='));waitfor delay '0:0:TIME'--1
樣本輸出
[54] => Array
(
[music] =>));waitfor delay '0:0:__TIME__'--[LF]1
)
[55] => Array
(
[music] => '));waitfor delay '0:0:__TIME__'--1
)
[56] => Array
(
[music] => '));waitfor delay '0:0:__TIME__'--[LF]1
)
[57] => Array
(
[music] => "));waitfor delay '0:0:__TIME__'--1
)
我想實現在PHP中是不可能的。
實施例複製
Array(
[music] => "));waitfor delay '0:0:__TIME__'--1
[music] => '/**/or/**/benchmark(10000000,MD5(1))#1
)
在第二個foreach試圖做$ newArray [$ key] [] = $ value – Cr1xus
'array_merge'可能值得一看:) – ThisGuyHasTwoThumbs
所以你想使用array1作爲key和array2作爲值? –