【问题标题】:Replace a empty keys in array in a loop在循环中替换数组中的空键
【发布时间】:2019-02-18 05:29:06
【问题描述】:

我需要为列表视图的不同数组获得相等的 cloums。例如,我在列表视图中有帖子,其中一些有 5 个值,但有些有 3 或 4 个。

我想将所有不存在的 $keys=>$val[0] 替换为“-”。

然后得到这样的表。

身份证;标题2;标题3;标题4;标题5

ROW1 ;行2;第 3 行;第 4 行;第 5 行

ROW1 ;行2;第 3 行;第 4 行; ---------

ROW1 ;行2;第 3 行; --------- ; ---------

ROW1 ;行2;第 3 行;第 4 行;第 5 行

循环表损坏后。这是从 post_meta 表中获取值的代码。

foreach($meta_values as $key=>$val)
{

echo  '<td>'.$val[0].'</td>';

}

【问题讨论】:

  • 如果我认为你在想什么,那么只需使用内联条件吗? - ($val[$x] == null ? '----' : $val[$x])
  • 绝对不清楚您要做什么。发布您遇到的错误,您使用的完整代码并制作更清晰的标题。

标签: php wordpress


【解决方案1】:

首先,您需要知道行中的最大元素,为此您可以计算标题中的元素。然后您可以遍历行并检查不存在的键 (empty($val[$i]) 并将它们更改为“ ---------”

//If first element is header 
$length = count($meta_values[0]);

foreach($meta_values as $val) {
    foreach ($i=0; $i < $length; $i++) {
        if (empty($val[$i])) {
           $val[$i] = " ---------";
        }
    } 
}

【讨论】:

  • 另外 $meta_value 有很多我不需要的值,我已经使用这个条件在循环中过滤它们if (substr($key, 0, 1) != '_' &amp;&amp; $key !== 'um_content_restriction') 但我怎么知道呢? Count() 函数将为我提供数组中所有键的数量,包括我过滤的键。
  • @Hazzy 那么首先你必须过滤数组然后做我上面回答的事情
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-19
相关资源
最近更新 更多