0

如何使用会话增加数组值

<?php
session_start();

$my_array=array(5,9,3);
$_SESSION['animals']=$my_array;
$_SESSION['animals'][0]= $_SESSION['animals'][0]+1;
echo "animals=". $_SESSION['animals'] [0];

$_SESSION['views']=$_SESSION['views']+1;
echo "Views=". $_SESSION['views'];

echo "<form method='post' action='realsession.php'>
 <input type='submit'>
  </form>";
?>

视图工作正常,每次我点击提交它都会增加 1。但是无论点击提交,动物都会给我 6。那么如何增加数组值呢?

谢谢

4

4 回答 4

4

尝试:

session_start();

if ( !isset($_SESSION['animals']) ) {
  $_SESSION['animals'] = array(5,9,3);
}
$_SESSION['animals'][0]++;
于 2013-07-23T15:00:21.440 回答
0

每次脚本运行时,您的设置$_SESSION["animals"][0]都设置为 5:

$myarray = array(5,9,3);

你把它设置为动物。检查它是否通过使用设置isset();

于 2013-07-23T15:00:11.270 回答
0

有了这个波纹管

$my_array=array(5,9,3);

你给出初始值。

您需要检查 $_SESSION 是否已经存储了数组。所以在该行下方,添加

if(isset(SESSION['animals'] && count(SESSION['animals'])!=0){
 $my_array=SESSION['animals'];
}
于 2013-07-23T15:02:50.407 回答
0

您在animals每次脚本运行时重置数组值,然后增加您刚刚设置的值。删除以下行:

$my_array=array(5,9,3);
$_SESSION['animals']=$my_array;
于 2013-07-23T15:00:40.443 回答