php - 通过切片从数组中返回结果的子集
问题描述
我正在从 API 获取一些数据。有 100 个结果,在页面的不同部分使用不同的结果。对于这个特定的部分,我只想渲染其中 10 个的子集。
到目前为止,我正在使用 foreach 循环初始数据并从指定键中提取所有值,然后填充一个数组。然后我想获取数组的一部分,然后对其进行迭代,只选择前 10 个元素。这些将是回显到页面的内容。
else {
foreach($responseResult as $subject) {
$uses = array($subject['subject']);
}
$uses = array_slice($uses, 0, 10);
foreach($uses as $use) {
echo "<tr><th scope='row'></th><td><a href='#'>{$use}</a></td></tr>";
}
}
这目前不会在页面上产生任何内容。错误日志显示数组到字符串的转换,以及无效的 foreach 参数。我知道问题是什么,我只是不知道如何纠正它。#代码疲劳
解决方案
您不断地设置$uses
为单个项目的数组。创建一个空白数组并在进行时添加项目...
$uses = array();
foreach($responseResult as $subject) {
$uses[] = $subject['subject'];
}
您可以简化此操作以提取元素,array_column()
而不是使用(取决于 PHP 版本)...
$uses = array_column($responseResult, "subject");
推荐阅读
- r - 为什么逐步计算 mse 不会产生与 MSE 函数相同的解决方案?
- java - 无法在 spring-boot 中使用 maximumSessions 和 maxSessionsPreventsLogin 设置并发会话控制
- c# - 是否有可能在 c# 中处理更高精度的复杂数据类型?
- php - 在 PHP 中将 SAML 身份映射到我自己的数据库中的用户
- python - Firestore 无法获取路径快照
- java - 如何在 Lambda 表达式中定义 Intent
- python - 数据框无法填充熊猫中的 NaN 值
- ruby - 使用 gem 时 main:Object 的未定义方法错误
- java - Java 在读取文件但同时使用流时避免 java.lang.OutOfMemoryError
- selenium - 关联/组合 2 个不同的 xpath Java Selenium