在多维数组结构中,最佳实践是将迭代器放在哪个元素中以及详细元素?
我的大部分编程经验(我主要是出于兴趣)都来自于Google上的教程,所以如果这似乎是一个异常愚蠢的问题,我提前道歉 - 但我确实想开始改进我的代码。
每当我需要创建一个多维数组时,我的命名总是将计数器放在第一个元素中。
例如,如果我有一个单维数组如下:
$myArray['year']=2012;
$myArray['month']='July';
$myArray['measure']=3;
// and so on.
然而,如果我想让这个数组保留一些历史记录的所有者,我会添加另一个维度,并按以下格式进行格式化:
$myArray[$owner]['year']=2012;
$myArray[$owner]['month']='July';
$myArray[$owner]['measure']=3;
编辑:为了确保我的示例不会让人望而却步或者引导方向错误,我基本上是按照以下结构进行的:
$myArray[rowOfData][columnOfData]
现在,我的问题是关于惯例的。我应该改为做以下操作吗?
$myArray['year'][$owner]=2012;
$myArray['month'][$owner]='July';
$myArray['measure'][$owner]=3;
编辑:使用上面的编辑,应该是:
$myArray[columnOfData][rowOfData]
我搜索了有关数组命名规范的文章,但一直找到争论是否将数组命名为复数形式。我一直使用的方式似乎更合乎逻辑,并且我认为它遵循了更像对象的结构,即object->secondaryLevel->detail
,但我并不确定我一直以来是不是在弄错了。随着我越来越深入地进行编程,如果我的做法是错误的,我宁愿改变自己的习惯。是否有一个被接受的标准或者说数组的任何格式都可以?如果你看到别人编写的代码,你会期望哪种格式?我知道任何有意义/直观的结构都是可以接受的。
此外,从迭代的角度来看,以下哪个更直观?
for($i=0;$i<$someNumber;$i++)
{
echo $myArray[$i]['year'];
// OR
echo $myArray['year'][$owner];
}
编辑:我将这篇帖子标记为C#和Java,因为我想得到一些PHP程序员之外的意见。我认为由于数组在许多不同的语言中都被使用,从各种语言的程序员那里获取一些输入会很有好处。
$table[/* $row */][/* $col */]
。 - T I