php - array_push() 期望参数 1 是数组,int 给定
问题描述
我得到 array_push() 期望参数一是一个数组,有什么解决方案吗?
$activeCourses = array();
foreach ($allCourses as $course) {
if (strtotime($course->end_date) > time()) {
$activeCourses = array_push($activeCourses, $course);
}
}
解决方案
您第一次将变量作为数组引用。但是当您将它用于数组推送时,$activeCourses =
它会变成一个整数字段,因为 array_push 返回一个整数值,然后当涉及到下一次迭代中的下一个数组推送时,您的activeCourses
变量不再是一个数组。所以像这样使用
$activeCourses = array();
foreach ($allCourses as $course) {
if (strtotime($course->end_date) > time()) {
array_push($activeCourses, $course);
}
}
或者
$activeCourses = array();
foreach ($allCourses as $course) {
if (strtotime($course->end_date) > time()) {
$activeCourses[] = $course;
}
}
推荐阅读
- codeigniter - 我的 Codeigniter 会话一经创建就会自动过期
- php - PHPMailer : 有没有办法回复用户提供的电子邮件地址?
- go - 编译 protobuf 并尝试在其他包中使用它时未定义的结构的 MarshalToSizedBuffer
- php - Laravel 格式化日期 in_array
- html - 如何使用 css 和 flexbox 修复输入的垂直间距
- ionic-framework - 从 ionic 3 中的 ion-item 中删除黑色基线边框栏
- javascript - 尝试调用 API 端点时,Next 不是函数
- node.js - 如何设置具有节点后端的 Angular 8 应用程序并将其托管在 firebase 上?
- python - 如何修复从 CSV 文件中读取的 Python 数据帧中的 KeyError?
- sql - 错误:使用 UNION 和 CASE postgresql 的表缺少 FROM 子句条目