【发布时间】:2011-08-30 11:10:36
【问题描述】:
我正在尝试用这种结构构建一个多数组:
Array
(
[2] => Array //this is the user's unique ID
(
[name] => Jack
[location] => Somerville, Massachusetts, United States
[cars] => Array
(
[10] => Toyota //this is the car's unique ID
[11] => Porsche
)
)
[5] => Array
(
[name] => Luke
[location] => Schwelm, North Rhine-Westphalia, Germany
[cars] => Array
(
[1] => Honda
[2] => VW
[5] => Maserati
)
)
[1] => Array
(
[name] => Jabba
[location] => Denver, Colorado, United States
[cars] => Array
(
[3] => Tesla
)
)
)
我正在使用这个 foreach 循环,但我坚持将 cars 数组嵌入到 search data 数组中。
每个用户可能拥有不止一辆汽车,因此我需要遍历每个用户的所有汽车,生成该数组,并将其放入原始的 foreach 循环中。
$search_data = array();
foreach ($query->result() as $row) {
$search_data[$row->id] = array(
'name' => $row->name,
'location' => $row->location,
'cars' => array($row->car_id), //this is where I need to insert another array
);
}
return $search_data;
有什么建议吗?
感谢您的帮助!
样本表数据
USER NAME LOCATION CARS
2 JACK A TOYOTA
2 JACK A PORSCHE
5 LUKE B HONDA
5 LUKE B VW
5 LUKE B MASERATI
1 JABBA C TESLA
【问题讨论】:
-
应该 $row->car_id 已经是一个数组了吗?
-
我只是把它放在那里以显示我需要帮助的地方 - 让它这样只会返回一辆汽车,而不是用户可能拥有的汽车阵列 - 我需要遍历所有汽车每个用户
-
如果汽车被分隔在不同的行上,很难将其放入数组中,因为当您将其放入数组时,相同查询的下一个结果会浪费,您明白我的意思吗?
标签: php arrays loops multidimensional-array foreach