PHP:获取数组中第一个值(如果存在)的更好方法
这是我的密码:PHP:获取数组中第一个值(如果存在)的更好方法,php,Php,这是我的密码: $quizId = ''; foreach ($module['QuizListing'] as $quizListing) { if ($quizListing['id']) { $quizId = $quizListing['id']; break; } } 有更好的方法吗?假设: 出现多个测验列表;和 并不是所有人都有身份证。 从你的问题来看,我认为这两种说法中有一种是不正确的。如果您想要第一个测验列表,请执行以下操作
$quizId = '';
foreach ($module['QuizListing'] as $quizListing) {
if ($quizListing['id']) {
$quizId = $quizListing['id'];
break;
}
}
有更好的方法吗?假设: 出现多个测验列表;和 并不是所有人都有身份证。 从你的问题来看,我认为这两种说法中有一种是不正确的。如果您想要第一个测验列表,请执行以下操作:
$listing = reset($module['quizListing']);
$quizId = $listing['id'];
函数返回数组中的第一个元素,如果没有,则返回false
这假设每个测验列表都有一个ID。如果不是这样,那么你的成绩就不会比你现在做的更好。轻微变化:
$quizId = '';
foreach ($module['QuizListing'] as $quizListing) {
if (isset($quizListing['id'])) {
$quizId = $quizListing['id'];
break;
}
}
若要回答此数组是否来自数据库,您可能需要更好地过滤查询,使其首先不包括这些行 差不多
SELECT * from Quiz WHERE id <> 0
这将为您提供一个无需任何其他处理即可使用的数组 使用array\u key\u exists可以检查数组中是否存在该键。如果它存在,则将其分配给您想要的任何对象
$quiz = array_shift($module['QuizListing']);
if (null != $quiz) {
echo "let's go";
}
if (array_key_exists('id', $quizListing)) {
$quizId = $quizListing['id'];
}
@baker:$module['QuizListing']来自某个SQL查询?最好使用isset以避免警告。请注意数组\u移位。。。将修改输入数组。