从 PHP 中的其他数组填充关联数组值

Populating associative array values from other arrays in PHP

如果我有单独的数组,其中包含“问题”和“答案”的值,如下所示:

var_dump($questions)

array (size=2)
  0 => string 'Question 1' (length=10)
  1 => string 'Question 2' (length=10)

var_dump($answers)

array (size=2)
  0 => string 'Answer 1' (length=10)
  1 => string 'Answer 2' (length=10)

如何使用这些数组来填充带有“问题”和“答案”键的“主”关联数组的值,这样我就可以使用 foreach 循环轻松输出 question/answer对?我正在尝试遍历每个 $questions$answers 数组以填充 $results 数组的值 - 我试过

foreach ( $questions as $question ) {
    $results[] = ['question' => $question];
}

这会为每个问题创建单独的项目,但我不确定如何将“答案”值添加到相同的数组项目中以创建对。感谢您在这里提供的任何帮助。

不确定我是否正确理解了问题,但 array_combine() 函数可能会满足您的要求。

$master = array_combine($questions, $answers);

这会给你:

[
    'question 1' => 'answer 1',
    'question 2' => 'answer 2',
    'question 3' => 'answer 3',
]

那么你可以这样做:

foreach ($master as $question => $answer) {
    ...
}

注意,这意味着问题是独一无二的。

相反,如果您想要一个关联数组的索引数组,您可以这样做:

$master = [];
foreach (array_combine($questions, $answers) as $question => $answer) {
    $master[] = [
        'question' => $question,
        'answer' => $answer,
    ];
}

这会给你:

[
    [
        'question' => 'question 1',
        'answer' => 'answer 1',
    ],
    [
        'question' => 'question 2',
        'answer' => 'answer 2',
    ],
    [
        'question' => 'question 3',
        'answer' => 'answer 3',
    ],
]

或者,更传统地说:

$master = [];
for ($i = 0; $i < count($questions); $i++) {
    $master[] = [
        'question' => $questions[$i],
        'answer' => $answers[$i],
    ]
}