从 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],
]
}
如果我有单独的数组,其中包含“问题”和“答案”的值,如下所示:
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],
]
}