php数组:如何只打印数组值而不打印键
这段代码在mysql表中循环并输出空/空字段。但是,它会像这样打印数组值和键php数组:如何只打印数组值而不打印键,php,arrays,arraylist,Php,Arrays,Arraylist,这段代码在mysql表中循环并输出空/空字段。但是,它会像这样打印数组值和键 Array ( [0] => Field "dob" on entry "1" is empty/null [1] => Field "user_name" on entry "7" is empty/null ) 如何打印条目“1”上的字段“dob”为空/null $sql = "SELECT * FROM userinfo"; $res = mysql_query($sql); w
Array (
[0] => Field "dob" on entry "1" is empty/null
[1] => Field "user_name" on entry "7" is empty/null
)
如何打印条目“1”上的字段“dob”为空/null
$sql = "SELECT * FROM userinfo";
$res = mysql_query($sql);
while ($row = mysql_fetch_array($res)) {
foreach($row as $key => $field) {
if(empty($field)) {
$emptyFields[] = sprintf('Field "%s" on entry "%d" is empty/null', $key, $row['userid']);
}
}
}
print_r($emptyFields);
我不知道我是否理解正确,但我认为解决您问题的方法是: 将最后一行更改为:
$emptyFields[] = sprintf('Field "%s" on entry "%d" is empty/null', $field, $row['userid']);}}}print_r($emptyFields);
这是因为您正在使用print\r输出该数组。因此,输出的格式是可读的。 要使其更美观,请尝试像以前使用该字段一样对其进行迭代:
foreach($emptyFields as $key => $field) {
echo('Field "'.$field.'" on entry "'.$emptyField['userid'].'" is empty/null');
}
回波内爆(“”,$emptyFields);
@Belinda:谢谢你的编辑,效果很好。它打印出条目“11”上的字段“4”为空/空条目“11”上的字段“地址”为空/空。他们都一样。如何避免打印条目“11”上的字段“4”为空/空。我不明白您需要什么。你想跳过整数键,对吗?只要使用check
检查(!is_integer($key)和空($field))
。如何避免重复打印列标题?例如,列“2”上的字段“名称”为空,列“3”上的字段“名称”为空。我只想打印一个字段“name”,并在单独的页面上提供详细信息。
foreach($emptyFields as $key => $field) {
echo('Field "'.$field.'" on entry "'.$emptyField['userid'].'" is empty/null');
}
echo implode('<br>', $emptyFields);