如何从PHP会话数组中删除单个元素?

时间:2017-06-12 14:06:06

标签: php arrays session

我正在使用{=IFERROR(IF(MATCH(sheet1!A1&sheet1!B1;sheet2!$A$1:$A$10&sheet2!$B$1:$B$10;0)>=0;"Match");"No match")} 会话数组,如

php

现在如何在O(1)

中添加元素或从该数组中删除元素

2 个答案:

答案 0 :(得分:1)

最简单的方法是获取值,删除项目,然后再次设置会话变量。

$data = $_SESSION['array'];    // Get the value
unset($data[1]);               // Remove an item (hardcoded the second here)
$_SESSION['array'] = $data;    // Set the session value with the new array

<强>更新
或者像@Qirel所说,如果您知道数字,可以直接取消设置项目。

unset($_SESSION['array'][1]);

更新2
如果要按值删除元素,可以使用array_search查找此元素的键。请注意,如果元素具有此值,则仅删除第一个元素。

$value_to_delete = '13/02/2017';
if (($key = array_search($value_to_delete, $_SESSION['array'])) !== false)
    unset($_SESSION['array'][$key]);

答案 1 :(得分:0)

要从数组中删除和元素,请使用unset()函数:

 <?php
  //session array O
  unset(O["array"][1]);
 ?>