如果数组元素是数组,并且它有特定的元素,那么是否有可能/如何删除数组元素?我有一个来自会话的数组(我使用的是laravel 4)。
我使用它来将它添加到会话中。
Session::push('answers', array('exam_id' => $exam, 'question_id' => $index, 'answer_id' => $answer));找出答案以及我如何删除它们
$values = Session::get('answers');
foreach ($values as $index1 => $value) {
if ($value['exam_id'] == $examid && $value['question_id'] == $questionid) {
// Delete Array from session
}
}例如,如果$value['exam_id'] = 1和$value['question_id'] = 2
从这里开始
"answers":[{"exam_id":"1","question_id":"1","answer_id":"3"},{"exam_id":"1","question_id":"2","answer_id":"6"}] 我想要
"answers":[{"exam_id":"1","question_id":"1","answer_id":"3"}] 发布于 2016-07-13 08:16:59
如果要从多维数组中删除特定数组,可以通过指定要删除的子数组的索引来使用unset方法。
$values = Session::get('answers');
foreach ($values as $index => $value) {
if ($value['exam_id'] == $examid && $value['question_id'] == $questionid) {
unset($values[$index]);
break;
}
}其结果将是:
Array
(
[0] => Array
(
[exam_id] => 1
[question_id] => 1
[answer_id] => 3
)
)发布于 2016-07-13 07:45:29
如果您需要删除整个数组本身,请调用“忘记”。
Session::forget('answers');如果需要删除数组的特定元素,我认为可以组合get和set操作。
$values = Session::get('answers');
//...do something to $values, then
Session:put('answers', $values);https://stackoverflow.com/questions/38345195
复制相似问题