php - 遍历多个数组并从每个数组中提取数据
问题描述
我有一个数组,其中包含多个数组(现在为 3 个)。里面的每个数组都有多个帖子对象。
我正在尝试遍历这 3 个数组,每次从其中一个中拉出 1 个 post 对象,然后将它推入一个新的空数组,我创建的顺序与我一个接一个地拉动它的顺序相同。
// dynamic number
$count_posts_query = 9
//the array that contains 3 arrays with posts in it (dynamic can be more
)
$term_posts = array(
[0] => array( <--- contains 26 posts objects
[0] => {post object}.
[1] => {post object},
[2] => {post object},
[... and so on 26 objects]
)
[1] => array( <--- contains 58 posts objects
[0] => {post object}.
[1] => {post object},
[2] => {post object},
[... and so on 58 objects]
)
[2] => array( <--- contains 103 posts objects
[0] => {post object}.
[1] => {post object},
[2] => {post object},
[... and so on 103 objects]
)
),
for ( $i = 0; $i < $count_posts_query; $i ++ ) {
array_push( $new_terms_arrays, $term_posts[$i][ $i ] );
}
这个循环的问题是 $i 不正确,它只运行了 3 次,每次输入数组的位置和具有相同 $i 编号的对象,然后其他 6 个对象为空且不正确升序
错误图片 - https://i.ibb.co/4PxXxgw/Screenshot-at-Aug-10-09-15-20.png
解决方案
如果要遍历数组中的 3 个项目,可以使用$term_posts
数组本身的计数而不是硬编码$count_posts_query = 9
for ($i = 0; $i < count($term_posts); $i ++) {
array_push($new_terms_arrays, $term_posts[$i][$i]);
}
正如Nigel Ren指出的那样,请注意您$i
对两个指数都使用了 的值。对于第一个工作,因为它基于$term_posts
数组的计数。
出现的问题是您对第二个数组使用相同的递增索引,但不能保证该索引存在。
如果您想每次拉出 1 个帖子对象,则必须确保使用现有索引。
推荐阅读
- java - MethodHandles.lookup().defineClass 保留
- r - 我希望 R 在将我的输出导出为 pdf 时提示输入文件名和位置
- python - 如何在张量流的占位符中接受张量列表?
- testing - Ranorex 8.3.0,在尝试创建新记录时,它不显示选择网络、桌面或移动应用程序的选项
- javascript - 如何启用特定 div 的禁用复选框?
- java - 如何防止应用关闭时 startCommand 的意图返回 null
- sql - 有没有办法用 SQL Server 检测列数据类型?
- javascript - 打开使用一个函数创建的 .txt 文件并使用另一个函数打开该 .txt 文件
- javascript - 如何使我的 div 居中并使它们与媒体查询堆叠
- python - 2张具有透明度的图像之间的差异