- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个树状对象结构,由两种类型的对象组成:
类别
的对象CategoryLink
的对象结构如下:
整个故事开始于一个没有父级
的类别
数组每个 Category
都有一些不重要的属性和一些重要的属性:$parent
- 包含父 Category
的 id,$children
- 包含子类别
的数组(当然,如果类别没有子项,则可能为空)。$links
- 包含 CategoryLinks
数组(也可能为空)
当 __constructing
一个 Category
时,我寻找现有的子 Categories
和 CategoryLinks
,如果有一些,我创建了它们的实例并将它们添加到 $children
和 $links
,所以这个过程对 child 和他们的 child 重复,依此类推,直到没有 child 的类别到达。
所以这个过程所做的是它基本上创建了一个 Categories
及其 Links
树。这很顺利,直到我想输出这个树结构(使用 Smarty
),我不太确定如何以正确的方式迭代它。期望的输出是这样的
Parent1 -its unimportant properties
-Child1 - its unimportant properties
-Child2 -...
-Child2's Child1
-Child2's Child2
-Child3
Parent2
-Child1
-Child1's Child1
-Child2
Parent3
...
我不确定在 PHP 中迭代它并将其转换为多维数组并在 Smarty 中迭代它是否更好,或者在 Smarty 中一直这样做。
*请注意,我没有提到类 CategoryLink
的对象,因为 Category
可能只包含它们的一维数组,所以遍历它们相当容易,我只是不确定如何遍历整个结构。
什么是最好的 |这样做的正确方法?
最佳答案
树有助于非常优雅的递归操作。在这种情况下,您描述的是深度优先预序遍历。 Wikipedia page可能有用。至于其余部分,如果这是最简单的显示方式,将其放入多维数组听起来就足够明智了。
关于php - 将树状对象结构转换为数组并交互整个事物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3301550/
Redis的事务是什么 Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会
我刚找到这个: a = (None,) print (a is True) print (a is False) print (a == True) print (a == False) print
我尝试将 FCM 与 Android Things 结合使用。我已经导入了 google json,在 list 中进行了更改,将应用程序订阅了主题,但我没有收到推送消息。我唯一得到的是来自服务器的
嘿。我有一个客户端服务器应用程序。服务器监听某个端口,并为每个客户端生成一个管理它的线程。这是基于套接字的,类似于 this但是客户端在 Swing 接口(interface)启动时连接,它会不时调用
您如何通过 ADB for Android Things 截取屏幕截图?我试过了: adb shell screencap -p /sdcard/screen.png adb pull /sdcard
我在理解此代码中的“Callable”时遇到了一些麻烦。我的老师笔记中没有太多细节。 template double averageTime(int iterations, Call
我有一个运行 Android Things 的 Raspberry Pi 3。为简单起见,假设它仅旋转步进电机。 为了再次简化事情,步进电机通过逐个线圈地告诉哪些线圈充电和哪些不充电来旋转。在 Ras
我一直觉得在 WPF 中设计表单布局就像设计网站布局一样。有没有一种工具可以让我直观地设置东西?我主要来自 WinForms 环境,花 2 个小时来布置表单设计并让它不完全按照您想要的方式出现是很烦人
我想在我的应用程序中重用 UITableViewCell,但我收到此错误:在隐式展开可选值时意外发现 nil。 我发现这是因为 UITableViewCell 中的 UI 东西是 nil,所以我的应用
我明天有考试,我想了解线性排序是什么样的,但是当我在谷歌上查找它时,我得到插入排序是一回事吗? 最佳答案 所有 C++ 标准保证的是 std::sort 是 O(N·log(N)。 关于c++ - 在
假设我有一个名为 Poem 的类(class)。 class Poem{ virtual void recite() = 0; } 我有数百个描述子类的 .cpp 和 .hpp 文件,如下所示
我们的主页有我们组织的 JSON-LD。我们的产品页面也应该有那 block 代码吗? 如果 Google 抓取我们的产品页面之一并找到 @type: Organization 和 @type: Pr
我正在使用 PHP 来使用不属于我的服务。该服务返回的内容几乎但不完全不同于 JSON(帽子提示,HGG)。 即,在最简单的形式中,它们看起来像这样 {a: 8531329} 通过json_decod
标题很冗长,可能令人困惑,但我不知道如何让它变得更好......我希望能够访问数组列表中的值并将其打印出来。 我有一个名为 ThingBagInterface 的接口(interface)。这个 Th
我通过调用成功显示了 Android 日期设置: startActivityForResult(new Intent(android.provider.Settings.ACTION_DATE_SET
这个问题在这里已经有了答案: Is there a simpler way to check multiple values against one value in an if-statement
我是一名优秀的程序员,十分优秀!