我使用 preg_match 在网页中查找键和值。一些键是数字,例如 101357,但大多数是字符串。当我使用 array_combine 创建具有这些键和值的数组时,它将作为数字的键转换为从键 0 开始的有序数组元素:
成立:
"ABC" => "Value1",
"101397" => "Value2",
"DEF" => "Value3",
"401995" => "Value4"
所以 $keys = array("ABC","101397","DEF","401995") 和 $vals = array("Value1",...)
print_r(array_combine($keys, $vals)) produces:
"ABC" => "Value1"
0 => "Value2"
"DEF" => "Value3"
1 => "Value4"
所以我失去了键的值。在我找到更优雅的解决方案(如果可能)之前,我会将 array_combine 展开为
foreach($keys as $idx=>$key)
{
$result[$key] = $vals[$val];
}