【发布时间】:2013-12-24 11:38:57
【问题描述】:
我正在尝试编写一个if() 语句,该语句将根据多维数组中的数据防止发生多种事情。我无法将其转换为代码。
很遗憾,in_array() 不适用于多维数组。
如果学生完成了测验分数 >= 80 的测验,那么它会更新数据。如果学生没有得分 80 或以上,则脚本不会更新数据。
我想要完成的事情(当用户提交测验时)
如果
$quiz_score >= 80AND$quiz_id不存在,则运行一段代码如果存在
the quiz_id并且测验通过 ($quiz_passed == 1) 并且$quiz_score >= 80,则运行另一段代码来更新分数(如果用户重新参加测验以提高分数,如果新分数80分以下,保持第一分。)否则重考(表示用户没有得到80分或以上)
根据数据,它们不应该是具有相同$quiz_id的一行
这是我的数据(数组)的图形视图:
这是代码中的数组:
Array
(
[0] => Array
(
[quiz_name] => Quiz 1 - General Chemistry
[quiz_id] => 1
[quiz_score] => 100
[quiz_passed] => 1
)
[1] => Array
(
[quiz_name] => Quiz 2 - Orangic Chemistry
[quiz_id] => 24
[quiz_score] => 100
[quiz_passed] => 1
)
[2] => Array
(
[quiz_name] => Quiz 3 - Biochemistry
[quiz_id] => 31
[quiz_score] => 25
[quiz_passed] =>
)
[3] => Array
(
[quiz_name] => Quiz 4 - Analytical Chemistry
[quiz_id] => 47
[quiz_score] => 80
[quiz_passed] => 1
)
[4] => Array
(
[quiz_name] => Quiz 5 - Physical Chemistry
[quiz_id] => 55
[quiz_score] => 45
[quiz_passed] =>
)
)
【问题讨论】:
-
你的问题是什么?你的描述听起来不错,你应该能够直接实现
-
从多维数组中拉取数据。基本上搜索数组,编写 if 语句。我尝试使用 in_array() 函数,但它不起作用。
-
为什么不动态创建一个新的/临时的非多维数组,该数组将包含所有其他数组中的所有 quizz_id ?这样你就可以使用 in_array()
-
user2196728 - 我不知道从哪里开始。我尝试将它们存储在另一个数组中,但这是一次失败的尝试。我的语法可能是错误的。
-
遍历所有现有数组以填充新数组
标签: php wordpress multidimensional-array