Php 用于循环阵列显示

Php 用于循环阵列显示,php,arrays,Php,Arrays,我有这样的数组值 Array ( [0] => A1 [1] => A2 ) Array ( [0] => B1 [1] => B2 [2] => B3 ) 爆炸 $explodedeductedfinal = explode(",",$CODE); 这是我在td中输出数据的php代码 foreach($explodedeductedfinal as $is){ $bankname = trim($is);

我有这样的数组值

Array ( 
    [0] => A1
    [1] => A2
) 
Array ( 
    [0] => B1 
    [1] => B2
    [2] => B3
)
爆炸

$explodedeductedfinal = explode(",",$CODE);
这是我在td中输出数据的php代码

foreach($explodedeductedfinal as $is){
    $bankname = trim($is);

     if (!empty($bankname)) {
         echo   "<td class='center'>$bankname</td>";
     }else{
         echo   "<td class='center'>'novalue'</td>";
     }
}   
期望输出:

 |Column A|Column B|Column C| 
      A1      A2    novalue
      B1      B2      B3

我只想在$bankname为空时输出它将不显示任何值

那么foreach将遍历数组的每个元素

if (!empty($bankname)) {
不会是空的,因为你在一个房间里。如果总是有3列,您可以考虑使用简单的for语句,或者使用javascript用默认值填充表中的所有空单元格。为此,请看这把小提琴。过去我不得不使用它


第三个元素不是空的,它不存在,因此
foreach
将只循环两个。您可以将其强制为所需的长度,并提供默认值:

$default = array_fill(0, 3, 'novalue');
$explodedeductedfinal = array_replace($default, explode(",", $CODE));

foreach($explodedeductedfinal as $is){
     $bankname = trim($is);
     echo "<td class='center'>$bankname</td>";
}   
$default=array_fill(0,3,'novalue');
$explodedeductedfinal=array_replace($default,explode(“,”,$CODE));
foreach($ExplodeDextedFinal作为$is){
$bankname=trim($is);
回显“$bankname”;
}   

计算数组的最大索引,并在该索引上循环,而不是在foreach上循环。从数据库中,您可以获得最大数量的值。然后使用isset()验证是否为该索引设置了值

我对其进行了编码(快速且肮脏,无数据库,无输出格式):



数组的值是多少?$code数组……问题是,在第一个数组中,您的foreach永远不会进入c列,因为只有两个元素。它来自我的数据库..好的,数组是否始终是3列?调用未定义函数arrray_fill()ii如果您需要它来处理未确定数量的列,max(数组\u map('count',$The_array_of_array));应该返回您需要的列数我有一个快速的问题,如果数组都没有值怎么办?那么您将得到3列
novalue
@AbraCadaver sir如果没有数组值怎么办?从数据库填充数组的代码留给您作为练习:-)。你最初的问题不是这样问的。怎么问?就php而言,im新手sorryPHP:。对于MySQL连接。StackOverflow不是学校,但w3schools是!
$default = array_fill(0, 3, 'novalue');
$explodedeductedfinal = array_replace($default, explode(",", $CODE));

foreach($explodedeductedfinal as $is){
     $bankname = trim($is);
     echo "<td class='center'>$bankname</td>";
}   
<table>
<?php
    $arA = array(0 => 'A1', 1 => 'A2');
    $arB = array(0 => 'B1', 1 => 'B2', 2 => 'B3');

    function output_ar($ar,$maxindex)
    {
        for ($i = 0; $i <= $maxindex; $i++)
        {
            if (isset($ar[$i]))
            {
                echo "<td>" . $ar[$i] . "</td>";
            }
            else
            {
                echo "<td>novalue</td>";
            }
        }
    }

    $maxindex = max(count($arA),count($arB)) -1;
    echo "<tr>\n";
    output_ar($arA,$maxindex);
    echo "</tr>\n<tr>\n";
    output_ar($arB,$maxindex);
    echo "</tr>\n";
?>
</table>