任何人都可以告诉为什么这段代码不起作用:
$ser = array('one','two','three','four');
$x = serialize($ser);
$x = unserialize($x);
$x = array_push($x, 'five');
$x = serialize($x);
echo $x;
我认为这不需要任何进一步的解释......
结果只有:
I:5;
答案 0 :(得分:11)
不要将array_push的结果赋给$ x。
array_push($x, 'five');
此函数返回新的元素数,您不想替换它们。
$ser = array('one','two','three','four');
$x = serialize($ser);
$x = unserialize($x);
array_push($x, 'five');
$x = serialize($x);
var_dump($x);
答案 1 :(得分:4)
那是因为array_push()返回新数组中的项数。该值由参考设置。
请参阅有关array_push函数的PHP文档: http://at.php.net/array_push