为什么不使用str_replace?我该怎么办?
$date = $this->convert_date->JalaliToGregorian('1390','04','20'); ->> this output with json_encode -> [2011,7,11]
$da = str_replace(",","/",$date);
echo json_encode ($da) ->> output Array ["2011","7","11"]
答案 0 :(得分:1)
逗号不在数组中。这是由json_encode添加的。试试implode("/", $date);
这将使用/
作为粘合剂组合三个数组元素。
答案 1 :(得分:1)
json_encode返回一个表示对象的JSON表示的字符串。在Arrays的情况下,这是一个用逗号包围的逗号描述列表。如果您希望用其他内容描述数组,那么您应该使用implode($glue,$pieces)
。
implode("/", $date);
作为一个陷阱 - implode将根据键插入顺序工作,所以你可能想先使用ksort:
$a = array(1=>1, 0=>0);
echo implode(",", $a); // outputs 1,0
ksort( $a );
echo implode(",", $a); // outputs 0,1
答案 2 :(得分:1)
我不完全确定你的结果是什么。 如果你希望你的脚本输出'2011/7/11',那么你应该使用implode()而不是str_replace(因为$ date不是字符串,而是数组)。 所以
$ da = implode('/',$ date);
会给你结果
答案 3 :(得分:1)
我不确定,我是否理解正确,但这可能是一个解决方案:
echo implode('/', $date);
这会将$date
数组的元素与/
粘贴到此字符串中:
2011年7月11日
请参阅CodePad.org snippet以获取证明。