问题的标题可能难以解释,以下是可能有用的代码
$containers = array(); // array of arrays
for ($index = 0; $index < 4; $index++) {
$containers[] = array(); // each element of the array is an array
}
foreach ($objects as $object) {
$index = computeIndex($object); // compute the index into the $containers
$container = $containers[$index]; // get the subarray object
$container[] = $object; // append $object to the end of the subarray
$containers[$index] = $container; // <--- question: is this needed?
}
所以问题显示,我还需要将子阵列重新分配给数组吗?如果它是数组中元素的引用,那么我认为我不需要。
答案 0 :(得分:2)
是的,需要最后一行;数组元素存储为值而不是引用。但是,PHP允许您使用&
:
$container = &$containers[$index];
$container[] = $object;
你也可以省去一些麻烦而且只做:
$containers[$index][] = $object;