如何通过动态生成密钥

时间:2016-02-22 12:55:46

标签: php associative-array

我想在会话数组

中存储多个项目的 slug

这是我的 ajax脚本,我通过它将slug名称发布到会话中:

 <script>
$('a.add_to_cart_button').click(function(){
    var slug = $(this).attr('id');
     $.ajax({
        type: "POST",
        url: "assets/includes/session.php",
        data:{ prod_slug: slug }, 
        success: function(data){
            alert(data);
        }
     });
});
</script>

这是我的代码 session.php

<?php
session_start();
 $slug = $_POST['prod_slug'];

 $arr = array('slug'=> $slug);
$_SESSION = array_merge($_SESSION,$arr);
print_r($_SESSION);
?>

但是由于关联数组应该具有唯一键,因此它会覆盖值:

$ arr = array('slug'=&gt; $ slug);

键应该有增量来存储多个值,如:

$ arr = array(' slug '=&gt; $ slug);

$ arr = array(' slug1 '=&gt; $ slug);

$ arr = array(' slug2 '=&gt; $ slug);

我如何完成这项工作。

2 个答案:

答案 0 :(得分:1)

获取数组中会话中的内容,然后将其追加回会话

<?php
session_start();
if(empty($_SESSION['slug'])){
    $_SESSION['slug'] = array();
}
array_push($_SESSION['slug'], $_POST['prod_slug']);
print_r($_SESSION);
?>

这假设您将$ _SESSION ['slug']初始化为数组。

答案 1 :(得分:1)

供社区使用:

 angular.module('app')
        .factory('MyFactory', MyFactory);

    /*@ngInject*/
    function MyFactory($scope, $q) {
.....

}