echo all数组,除非array为null

时间:2015-10-05 15:02:42

标签: php mysql arrays

我试图在while语句中回显一个数组,但是,结果还包括数据库中的一些列,可能是也可能不是。

是否可以回显值不为空的所有数组?我无法编辑mysql查询,因为我需要它是动态的,因为其他用户可能会使用某些列。

我的表格包含大约20个列,其中一些列表填充了一些列。

我的代码:

PHP

<?php 
     while($row = $mysqli_fetch_array($uploads)){
          print_r(!is_null($row));
     }
?>

预期输出

Firstname: John

Lastname: Test

Age: 15

当前输出

1

任何帮助都会很棒,为缺乏代码而道歉。

1 个答案:

答案 0 :(得分:1)

许多可能的方式。这是一个例子:您可以filter out null元素,然后打印$ row

def fulfillment_params
  hash = {}
  hash.merge! params.require(:fulfillment).slice(:id, :ids, :remarks) # model attributes
  hash.merge! params.slice(:batch_edit_fulfillment_ids) # non-model attributes
  hash
end
  1. 这会将每个元素类型转换为boolean,并保留那些评估为truthy的元素。这可能会过滤掉比您更喜欢的元素,请参阅Converting to boolean
  2. 但你可以告诉aray_filter如何决定一个元素是进入还是进入。在这种情况下,您提供的函数的返回值将作为第二个参数转换为boolean并进行检查。使用while($row = $mysqli_fetch_array($uploads)) { $row = array_filter($row); // 1 // or 2: $row = array_filter($row, 'strlen'); echo join(', ', $row), "\r\n"; } empy字符串和/或任何被转换为空字符串(如NULL)的内容将导致strlen - &gt; 0 - &gt;过滤掉。