我正在使用此代码生成JSON字符串,但面对一个问题,我试图找出这是否是最后一个元素,我使用此if(end($aData) != $aD)
但这是比较值,有一个问题,当在数组中是相同的值时,我如何比较$ keys(获取最后一个键并与当前键进行比较),或者获取最后一个元素。
$ret = '[';
foreach($aDatas as $aData)
{
$ret .= "{";
foreach($aData as $key=>$aD)
{
$ret .= '"'.$key.'":"'.$aD.'"';
if(end($aData) != $aD)
$ret .= ',';
}
$ret .= "}";
if(end($aDatas) != $aData)
$ret .= ',';
}
echo $ret.']';
答案 0 :(得分:7)
我可以建议这个PHP内置函数json_encode()
吗?
可能会节省很多时间。
答案 1 :(得分:3)
一种选择是使用key()
功能:
end($aData);
if(key($aData) != $key)
答案 2 :(得分:1)
你知道数组的大小。因此,只需在每个循环中增加一个计数器,然后检查它是否是最后一个元素。