【发布时间】:2016-05-23 07:31:33
【问题描述】:
我有一个类说,Foo,它有一个名为 bar 的 json 字符串属性:[PHP Fiddle Link]
<?php
class Foo {
public $bar = '{"1455260079":"Tracking : #34567808765098767 USPS","1455260723":"Delivered","1455261541":"Received Back"}';
public function getBar(){
return (array) json_decode($this->bar);
}
public function remove($timestamp){
$newBar = $this->getBar();
print_r($newBar);
unset($newBar[$timestamp]);
print_r($newBar);
$this->bar = json_encode($newBar);
}
}
现在,要从 bar 中删除一个元素,我正在执行以下操作,我无法弄清楚它为什么不删除:
$foo = new Foo();
$foo->remove("1455261541");
echo $foo->bar;
打印出来:
Array
(
[1455260079] => Tracking : #34567808765098767 USPS
[1455260723] => Delivered
[1455261541] => Received Back
)
Array
(
[1455260079] => Tracking : #34567808765098767 USPS
[1455260723] => Delivered
[1455261541] => Received Back
)
{"1455260079":"Tracking : #34567808765098767 USPS","1455260723":"Delivered","1455261541":"Received Back"}
这背后的原因是什么?有什么帮助吗?
【问题讨论】: