php数组:如何只打印数组值而不打印键

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

这段代码在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);
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);