Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将新数组项添加到现有数组中?_Php_Arrays - Fatal编程技术网

Php 如何将新数组项添加到现有数组中?

Php 如何将新数组项添加到现有数组中?,php,arrays,Php,Arrays,我想将新数组项添加到现有数组中。为此,我正在使用array\u push,但它不起作用 排列 Php代码 if(isset($_REQUEST['sendProductId'])){ $inserted = $_COOKIE['productID']; $original = $_REQUEST['sendProductId']; if($inserted){ $cookie_value = array_push( $inserted, $or

我想将新数组项添加到现有数组中。为此,我正在使用
array\u push
,但它不起作用

排列

Php代码

if(isset($_REQUEST['sendProductId'])){

    $inserted = $_COOKIE['productID'];
    $original = $_REQUEST['sendProductId'];

    if($inserted){
        $cookie_value   =   array_push( $inserted, $original ); 
    }else{
        $cookie_value = $_REQUEST['sendProductId'];
    }
    $cookie_name = 'productID';

    setcookie($cookie_name, $cookie_value, time() + (86400 * 30));

}
print_r($_COOKIE);
实际上,我想将产品ID添加到cookie中。我也使用了
array\u-splice
,但它也不起作用

请告诉我哪里出了问题。

使用
序列化(array())
将数组设置为cookie并用于读取数据使用
$data=unserialize($\cookie[$cookie\u name])

所以试试这个

if(isset($_REQUEST['sendProductId'])){

    $inserted = 51;//$_COOKIE['productID'];
    $original = 52;//$_REQUEST['sendProductId'];

    $cookie_name = 'productID';

    $cookie_value[0]   = $original;   
    if($inserted)
        $cookie_value[1]   = $inserted;   



    setcookie($cookie_name, serialize($cookie_value), time() + (86400 * 30));

}

$data = unserialize($_COOKIE[$cookie_name]);
array(2) {
  [0]=>
  int(52)
  [1]=>
  int(51)
}
从:

array\u push
-将一个或多个元素推到数组的末尾

int array_push ( array &$array , mixed $value1 [, mixed $... ] )
array\u push()
将变量添加到数组的末尾。数组的长度增加了
推送的变量数。具有与以下相同的效果:

<?php
$array[] = $var;
?>

对每个传递的值重复


可能重复:@Semmix我认为它不是重复的,因为我的问题与上面提到的链接完全不同,
var\u dump($inserted)中的内容是什么
变量转储($original)?@ashkufaraz
字符串'51'(长度=2)
是该
变量转储的结果($inserted)
变量转储($original)
<?php
$array[] = $var;
?>