在 PHP 中迭代复杂的关联数组
有没有一种简单的方法可以在 PHP 中迭代此结构的关联数组:
数组 $searches
有一个编号索引,包含 4 到 5 个关联部分。 因此,我不仅需要通过 $searches[n]
迭代 $searches[0]
,还需要 $searches[0]["part0"]< /code> 到
$searches[n]["partn"]
。 困难的部分是不同的索引有不同数量的部分(有些可能会缺少一两个)。
是否想过以一种友好、简洁且易于理解的方式来做这件事?
Is there an easy way to iterate over an associative array of this structure in PHP:
The array $searches
has a numbered index, with between 4 and 5 associative parts. So I not only need to iterate over $searches[0]
through $searches[n]
, but also $searches[0]["part0"]
through $searches[n]["partn"]
. The hard part is that different indexes have different numbers of parts (some might be missing one or two).
Thoughts on doing this in a way that's nice, neat, and understandable?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
我知道这是死灵术的问题,但是使用 Spl 迭代器迭代多维数组很容易
参见
I know it's question necromancy, but iterating over Multidimensional arrays is easy with Spl Iterators
See
嵌套两个
foreach
循环:Nest two
foreach
loops:考虑这个多维数组,我希望这个函数能有所帮助。
Consider this multi dimentional array, I hope this function will help.
我真的不确定你在这里的意思 - 一对 foreach 循环肯定可以满足你的需要吗?
或者你需要一些递归的东西? 我可以通过示例数据和您希望如何返回数据的上下文提供更多帮助。
I'm really not sure what you mean here - surely a pair of foreach loops does what you need?
Or do you need something recursive? I'd be able to help more with example data and a context in how you want the data returned.
您可以循环遍历所有“part[n]”项并使用 isset 来查看它们是否确实存在吗?
Can you just loop over all of the "part[n]" items and use isset to see if they actually exist or not?
您应该能够使用
php 手册 中的嵌套 foreach 语句
You should be able to use a nested foreach statment
from the php manual
看起来是递归函数的好地方,尤其是。 如果你有两个以上的深度。
Looks like a good place for a recursive function, esp. if you'll have more than two levels of depth.