从数组中删除
这个问题在这里已经有了答案:
您可以将$ _session传递给ArrayIterator并使用ArrayIterator :: offsetUnset()。
例如:-
session_start();
$_SESSION['test1'] = 'Test1';
$_SESSION['test2'] = 'Test2';
$_SESSION['test3'] = 'Test3';
var_dump($_SESSION);
$iterator = new ArrayIterator($_SESSION);
$iterator->offsetUnset('test2');
$_SESSION = $iterator->getArrayCopy();
var_dump($_SESSION);
输出: -
array (size=3)
'test1' => string 'Test1' (length=5)
'test2' => string 'Test2' (length=5)
'test3' => string 'Test3' (length=5)
array (size=2)
'test1' => string 'Test1' (length=5)
'test3' => string 'Test3' (length=5)
这也为您节省了在数组中循环查找要删除的元素的开销。
你的删除方式似乎没有问题。 但我认为问题出在数组的结构上。 例如,字符串值不被引用,没有逗号分隔数组项,并且数组键被写入[]中。
尝试改变你的数组,如下所示,删除应该可以正常工作:
$_SESSION['Items'] = Array (
0 => Array (
'id' => 18,
'name' => 'book',
'description' => '',
'quantity' => 0,
'price' => 50,
'status' => 'Brand New'
),
1 => Array (
'id' => 19,
'name' => 'testing',
'description' => 'for testing',
'quantity' => 2,
'price' => 182,
'status' => 'Brand New',
),
2 => Array (
'id' => 1,
'name' => 'Fruity Loops',
'description' => 'dj mixer',
'quantity' => 1,
'price' => 200,
'status' => 'Brand New'
)
);
希望能帮助到你。
链接地址: http://www.djcxy.com/p/30111.html