2 回答
TA贡献1803条经验 获得超3个赞
只需$parent[$parentCat[$k]['name']] = $categories_dropdown
在if
语句内部移动,否则无论条件是否满足,您都在分配变量,但只有在条件满足时,值才会改变。这就是为什么你得到意想不到的结果的原因。
TA贡献1830条经验 获得超3个赞
我不确定您在 $categories_dropdown 中想要的输出,但以下内容将为您提供 $parent 的预期输出。当您添加到数组时,它应该在 if 语句中
<?php
$parentcat = [['id' =>'1000', 'name' => 'assets'], ['id' => '2000', 'name' => 'expenses']];
$categories = [ ['id' => '1100', 'name' =>'cash', 'cat' => '1000'],
['id' => '1200', 'name' => 'AR', 'cat' => '1000'],
['id' => '2100', 'name' => 'AP', 'cat' => '2000'],
['id' => '2200', 'name' => 'payroll', 'cat' => '2000']];
for($k = 0; $k < count($parentcat); $k++) {
for ($j = 0; $j < count($categories); $j++) {
if ($parentcat[$k]['id'] == $categories[$j]['cat']) {
$categories_dropdown[$parentcat[$k]['id']] = $categories[$j]['name'];
$parent[$parentcat[$k]['name']][] = $categories[$j];
}
}
}
echo "<pre>";
print_r($parent);
echo "</pre>";
?>
- 2 回答
- 0 关注
- 128 浏览
添加回答
举报