我有一个多维数组。现在我想在这个数组中插入一个新的键值组合。但是我无法做到。你能帮助我实现这个目标吗?为了您的参考,我将下面的代码与现有的多维数组一起提供:
代码: $ practice_sheet_set_data / 现有的多维数组 / / 获取要插入上述数组的值的代码 /
$sql = " SELECT st.staff_full_name FROM ".TBL_STAFF." AS st JOIN ".TBL_PRACTICE_SHEET." AS ps ";
$sql .= " ON st.staff_id=ps.practice_sheet_created_staff_id WHERE ps.practice_sheet_id= ".$practice_sheet_id;
$this->mDb->Query( $sql);
$practice_sheet_created_staff_data = $this->mDb->FetchArray(MYSQL_FETCH_SINGLE);
从上面的代码开始,我在变量$practice_sheet_created_staff_data
中得到了一个单维数组,但是无法将它的值插入到上面的数组中。我也试过了array_push和array_merge。两个阵列都在下面给出:
$practice_sheet_data
Array
(
[0] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 505
[topic_name] => Ratio and Proportion
)
[1] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 508
[topic_name] => Inequalities
)
[2] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 509
[topic_name] => Simple and Compound Interest including Annuity - Applications
)
[3] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 511
[topic_name] => Sequence and Series - Arithmatic and Geomatric Progression
)
[4] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 517
[topic_name] => Statistical Description of Data
)
[5] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 519
[topic_name] => Correlation and Regression
)
[6] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 520
[topic_name] => Probability & Mathematical Expectation
)
[7] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 521
[topic_name] => Theoritical Distributions
)
)
$practice_sheet_created_staff_data
Array
(
[staff_full_name] => Amol Patil
)
我想在前一个数组中创建一个新的键值对[staff_full_name] => Amol Patil
答案 0 :(得分:0)
如果您推送姓名,则foreach
可能会遇到问题。试试这个:
$new_array = array($practice_sheet_created_staff_data['staff_full_name'] => $practice_sheet_data);
您可以使用var_dump($new_array[0]);
或var_dump($new_array['name']);
Array (
[Amol Patil] => Array
[0] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 505
[topic_name] => Ratio and Proportion
)
[1] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 508
[topic_name] => Inequalities
)
[2] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 509
[topic_name] => Simple and Compound Interest including Annuity - Applications
)
[3] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 511
[topic_name] => Sequence and Series - Arithmatic and Geomatric Progression
)
[4] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 517
[topic_name] => Statistical Description of Data
)
[5] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 519
[topic_name] => Correlation and Regression
)
[6] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 520
[topic_name] => Probability & Mathematical Expectation
)
[7] => Array
(
[topic_no_questions] => 5
[subject_id] => 21
[subject_name] => CPT Quantitative Aptitude
[topic_id] => 521
[topic_name] => Theoritical Distributions
)
)
答案 1 :(得分:0)
如果你要做的是插入一个新的密钥对值,你试过吗
foreach($practice_sheet_created_staff_data as $key => $value)
{
$practice_sheet_created_staff_data[$key][staff_full_name] = 'Amol Patil'
}
答案 2 :(得分:0)
如果你想将$practice_sheet_created_staff_data
插入数组,那么:
$practice_sheet_data[] = $practice_sheet_created_staff_data;
// will give you
// $practice_sheet_data[8] = array('staff_full_name' => 'Amol Patil');
然后在每个子数组中插入:
foreach ($practice_sheet_data as $key => $array) {
$practice_sheet_data[$key]['staff_full_name'] = $practice_sheet_created_staff_data['staff_full_name'];
}
// will give you
// $practice_sheet_data[0] = array(... your other elements..., 'staff_full_name' => 'Amol Patil');
答案 3 :(得分:0)
如果你想改变结果数组,试试这个。
foreach($practice_sheet_created_staff_data as &$p) {
$p['staff_full_name'] = 'Amol Patil';
// $p['topic_id'] = 0; // if you wanna the other value.
}
你必须输入& 。 它可以改变数组内的值。