Php 混合数组和对象
我对将数组与对象混合感到很遗憾,但我不确定是否应该这样做Php 混合数组和对象,php,arrays,object,Php,Arrays,Object,我对将数组与对象混合感到很遗憾,但我不确定是否应该这样做 // Populate array foreach($participants as $participant){ $participants[$key]['contestant'] = new Contestant($participant); $participants[$key]['brand'] = new Brand($brand); $key++; } [...] // Print array forea
// Populate array
foreach($participants as $participant){
$participants[$key]['contestant'] = new Contestant($participant);
$participants[$key]['brand'] = new Brand($brand);
$key++;
}
[...]
// Print array
foreach($participants as $participant){
print "Name: " . $participant['contestant']->name;
print "Nationality: " . $participant['contestant']->nationality;
}
我对$climater['climater']->name
部分感到不舒服。如果只使用对象,我会感觉更好
事实上,混合对象和数组被认为是一种不好的做法,还是我对其他人都认为不错的东西着迷?你在不必要地担心自己。在其他语言中,将序列/映射与对象混合是相当常见的。当您不知道元素的数量或只存在一组“ragtag”元素时,数组是有用的;当您确切知道元素的数量时,对象是有用的,并且所说的元素每个都有特定的用途。您不必要地担心自己。在其他语言中,将序列/映射与对象混合是相当常见的。当您不知道元素的数量或只存在一组“ragtag”元素时,数组很有用;当您确切知道元素的数量时,对象很有用,并且所说的元素每个都有特定的用途。我觉得很好。如果数组有意义,请使用数组。如果对象有意义,请使用对象
然而,您可能觉得参与者作为一个对象更有意义,从这个相对较小的代码示例来看,它可能只是一个对象。如果是这样,写一个快速的参与者课程。如果这感觉开销太大,那么不要担心。在这一点上,这是个人偏好,因为您的代码实际上是有效的。这都是关于你将来更愿意使用哪个代码库的问题。我觉得很好。如果数组有意义,请使用数组。如果对象有意义,请使用对象
然而,您可能觉得参与者作为一个对象更有意义,从这个相对较小的代码示例来看,它可能只是一个对象。如果是这样,写一个快速的参与者课程。如果这感觉开销太大,那么不要担心。在这一点上,这是个人偏好,因为您的代码实际上是有效的。这都是关于你将来喜欢使用哪种代码库的问题。如果你对
$participant['competitor']->名称感到不舒服,那么你可以使用ArrayObject
和$participant->competitor->name
@Gordon:太好了,谢谢!如果你对$participant['competitor']->name
感到不舒服,那么你可以使用ArrayObject
和$participant->competitor->name
@Gordon:太好了,谢谢!