结合数组中的一个值到另一个数组的所有值php
对于构建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
)
使用以下代码:
public static function create_combined_array($array1, $array2)
{
$newArray = array();
foreach ($array1 as $key){
foreach ($array2 as $i => $value) {
$newArray[$i][$key] = $value;
}
}
return $newArray;
}
关键线是$newArray[$i][$key] = $value;
。它将一个数组附加到$newArray
的$i
索引处,索引是第二个数组$array2
的索引。
你是对的,这只是一个错误。固定。 – Albert221
是的,解析错误:语法错误,意外的'=>'(T_DOUBLE_ARROW) – melkawakibi
我修复了代码,现在尝试 – Albert221
在第二个foreach试图做$ newArray [$ key] [] = $ value – Cr1xus
'array_merge'可能值得一看:) – ThisGuyHasTwoThumbs
所以你想使用array1作为key和array2作为值? –