【发布时间】:2015-07-03 15:37:54
【问题描述】:
由于某种原因,我下面的代码不能完全正常工作。我一直无法取消设置数组元素。否则,代码似乎有效。我正在使用 echo javascript alert 来确认数组中存在的元素。也许问题与 $_SESSION 变量的性质有关?
数组是这样的,
Array
(
[commerce_cart_orders] => Array
(
[0] => 33
)
[messages] => Array
(
[error] => Array
(
[0] => Notice: Use of undefined constant actions - assumed 'actions' in mytheme_form_alter() …..
[1] => Notice: Use of undefined constant submit - assumed 'submit' in mytheme_form_alter() ….
[2] => Notice: Use of undefined constant actions - assumed 'actions' in mytheme_form_alter() ….
[3] => Notice: Use of undefined constant submit - assumed 'submit' in mytheme_form_alter() ….
到目前为止我的代码是这样的,
$toRemoveOne = "Notice: Use of undefined constant actions - assumed 'actions' in ";
$toRemoveTwo = "Notice: Use of undefined constant submit - assumed 'submit' ";
foreach ($_SESSION['messages']['error'] as $val) {
if((strpos($val, $toRemoveOne) == true) || (strpos($val, $toRemoveTwo) == true)){
echo '<script>alert("it exists")</script>';
//unset($_SESSION['messages']['error'][$val]);
unset($val);
}
然后我打印出 $_SESSION 变量,它们仍然存在。 我在这里做错了什么?谢谢!
【问题讨论】:
-
在 val 之前添加
&-foreach ($_SESSION['messages']['error'] as &$val) -
@splash58 如果可以的话,我会避免使用
&。它可以产生weird results。 -
对不起,我错了。
&可以修改项目,但不能取消设置