我认为当数组键以0开头时(至少在我的情况下)它将键转换为字符串,这是我的数组:
MyCollectionView.collectionViewLayout.invalidateLayout()
当我输出数组时,它与命令混乱,它们需要按顺序排列,但是首先输出整数键,然后输出字符串键。
如何强制它们是整数或字符串而不是两者的混合?
EDIT ::
如果我使用以下建议如下(int):
array (size=2)
2015 =>
array (size=9)
'04' => string 'Array(2)' (length=8)
'05' => string 'Array(2)' (length=8)
'06' => string 'Array(2)' (length=8)
'07' => string 'Array(2)' (length=8)
'08' => string 'Array(2)' (length=8)
'09' => string 'Array(2)' (length=8)
10 => string 'Array(2)' (length=8)
11 => string 'Array(2)' (length=8)
12 => string 'Array(2)' (length=8)
2016 =>
array (size=4)
'01' => string 'Array(2)' (length=8)
'02' => string 'Array(2)' (length=8)
'03' => string 'Array(2)' (length=8)
'04' => string 'Array(2)' (length=8)
我从数组中得到以下输出:
$periods[$diaryActivityScore->getDate()->format('Y')][(int)$diaryActivityScore->getDate()->format('m')]['data']
答案 0 :(得分:0)
在将元素添加到数组之前,检查键是否为数字是is_numeric($ key)函数。如果返回false,则使用类型转换将键转换为整数,(int)$ key。
现在,数组只有数字键,可以订购。