基本上,每次我为一个唯一名称添加一个数字时,它都被添加到另一个页面。在某些时候,我想检查数组并更新该数字以获取唯一名称(如果它已经存在)。
例如,
Benj 25
Mark 68
Sam 34
如果我在Benj下添加一个新值50,我现在希望总数为75
我理解这与检查array_key_exists
功能有关,但它会继续打印单词数组,我甚至不知道如何获得该数字并更新它
这是我的代码:
$name = isset($_GET['name']) ? $_GET['name'] : "";
$number = isset($_GET['number']) ? $_GET['number'] : "";
if(!isset($_SESSION['numbers'])){
$_SESSION['numbers'] = array();
}
if(array_key_exists($name, $_SESSION['numbers'])){
print_r(array_keys($_SESSION['numbers'][$name]));
}
else{
$_SESSION['numbers'][$name] = array("name"=>$name, "number"=>$number);
}
?>
编辑:完成var_dump($_SESSION["numbers"]);
之后我得到了这个:
array(2) { [3]=> array(2) { ["name"]=> string(1) "3" ["number"]=> string(2) "55" } [2]=> array(2) { ["name"]=> string(1) "2" ["number"]=> string(2) "54" } }
我认为我正在以正确的方式解决这个问题,我不知道如何检索和更新数字
任何帮助都意味着很多
答案 0 :(得分:0)
你是说这个?
$name = isset($_GET['name']) ? $_GET['name'] : "";
$number = isset($_GET['number']) ? $_GET['number'] : "";
if(!isset($_SESSION['numbers'])){
$_SESSION['numbers'] = array();
}
if(array_key_exists($name, $_SESSION['numbers'])){
$_SESSION['numbers'][$name]['number'] += $number;
}
else{
$_SESSION['numbers'][$name] = array("name"=>$name, "number"=>$number);
}