Php 如何仅获取条件为真的数组的第一个实例
我是PHP新手,我正在尝试修改我的基于Wordpress的学习管理主题(称为Academy on ThemeForest),以便能够计算出用户在当前课程中所上的课程 换句话说,我想运行一个检查,查看用户已经完成了哪些课程,只获取课程层次结构中尚未完成的第一课的ID 以下是我所知道的一切: 在一篇文章(在本例中为“课程”)的循环中,我就是这样获得当前课程的课程数组的:Php 如何仅获取条件为真的数组的第一个实例,php,arrays,wordpress,conditional-statements,Php,Arrays,Wordpress,Conditional Statements,我是PHP新手,我正在尝试修改我的基于Wordpress的学习管理主题(称为Academy on ThemeForest),以便能够计算出用户在当前课程中所上的课程 换句话说,我想运行一个检查,查看用户已经完成了哪些课程,只获取课程层次结构中尚未完成的第一课的ID 以下是我所知道的一切: 在一篇文章(在本例中为“课程”)的循环中,我就是这样获得当前课程的课程数组的: <?php $lessons_array = ThemexCourse::sortLessons(ThemexCourse:
<?php $lessons_array = ThemexCourse::sortLessons(ThemexCourse::$data['course']['lessons']); ?>
由于[ID]和[menu_order]这两个值是最重要的:它们告诉您每节课的ID及其在课程中的层次结构,所以我将其截断了一点
但这正是我陷入困境的地方:我不想获得所有的课程ID,只是用户尚未完成的课程ID
为了检查用户是否已完成课程,我一直使用以下方法:
<?php if(ThemexCourse::isCompletedLesson($lesson_ID)) { echo 'Completed'; } ?>
因此,使用上述信息,是否可以仅返回下一个未完成课程的单个ID
提前感谢任何人的帮助 我认为应该这样做:
$next_lesson = NULL;
foreach($lessons_array as $index=>$lesson) {
if(!ThemexCourse::isCompletedLesson($lesson->ID)) {
$next_lesson = $lesson;
break;
}
}
echo "Next lesson is: " . $next_lesson->ID;
感谢您的及时回复,但这将在代码的第3行返回以下错误“不能使用WP_Post as array类型的对象”。
$next_lesson = NULL;
foreach($lessons_array as $index=>$lesson) {
if(!ThemexCourse::isCompletedLesson($lesson->ID)) {
$next_lesson = $lesson;
break;
}
}
echo "Next lesson is: " . $next_lesson->ID;