【问题标题】:PHP Multidimensional Array Not Showing ValuesPHP多维数组不显示值
【发布时间】:2013-08-16 20:48:31
【问题描述】:

我已经上下搜索,但似乎无法让这个数组正常运行,我错过了一些简单但无法弄清楚到底是什么。

<?php

    $dates2 = 'Aug 30, 2013';
    $dates3 = 'Sep 13, 2013';

    $cards[0] = array(
        'card' => 'Discover',
        'pay'  => '875', 
        'when' => array('
            'Sep 03, 2013', 
            'Oct 03, 2013', 
            'Nov 03, 2013',
            'Dec 03, 2013'
        ),                    
    );
    $cards[1] = array(
        'card' => 'Visa',
        'pay'  => '375', 
        'when' => array(
            'Sep 23, 2013', 
            'Oct 23, 2013', 
            'Nov 23, 2013',
            'Dec 23, 2013'
        ),        
    );
    $cards[2] = array(
        'card' => 'Mastercard',
        'pay'  => '1025', 
        'when' => array(
            'Sep 12, 2013', 
            'Oct 13, 2013', 
            'Nov 13, 2013',
            'Dec 13, 2013'
        ),
    );
    $cards[3] = array(
        'card' => 'Amex',
        'pay'  => '650', 
        'when' => array(
            'Aug 25, 2013', 
            'Sep 05, 2013', 
            'Oct 25, 2013',
            'Nov 25, 2013'
        ),
    );

    for ($i=0; $i<=3; $i++){  
        if ($cards[$i]['when'][$i] > $dates2 && ($cards[$i]['when'][$i] < $dates3) or ($cards[$i]['when'][$i] == $dates2)) {
            print "<tr>
                <td>$cards[$i]['card']</td>
                <td><input class='amount' size='3' value='$cards[$i]['pay']'></td>
            </tr>";                                  
         } 
     }

?>

输出:Array['card'] Array['card'] Array['card'] Array['card']

【问题讨论】:

  • 想知道为什么它被否决了吗?如果您要对某人投反对票,您应该就原因提供反馈。

标签: php for-loop multidimensional-array foreach


【解决方案1】:

这是您的输出语句,这已为我解决了:

print "<tr><td>" . $cards[$i]['card'] . "</td><td><input class='amount' size='3' value='" . $cards[$i]['pay'] . "'></td></tr>";

【讨论】:

    【解决方案2】:

    您需要连接变量或重置它们然后打印它们。

    演示 PHPfiddle http://phpfiddle.org/main/code/ia5-dh6

    这是他们的重置

    演示 PHPfiddle http://phpfiddle.org/main/code/7if-nd3

    注意我也添加了缺少的表格标签

    $CardType = $cards[$i]['card'];
    $Payment = $cards[$i]['pay'];
    
    print "<tr>
             <td>$CardType</td>
             <td><input class='amount' size='3' value='$Payment'></td>
           </tr>";  
    

    【讨论】:

      【解决方案3】:

      参考:Variable parsing

      变量解析

      当一个字符串用双引号或heredoc指定时,变量 在其中进行解析。

      有两种类型的语法:一种简单的和一种复杂的。这 简单的语法是最常见和方便的。它提供了一种方法 在字符串中嵌入变量、数组值或对象属性 用最少的努力。

      复杂的语法可以通过大括号包围来识别 表达式。

      更新:

      对于这种特殊情况,请阅读“简单语法”,尤其是“复杂语法”。

      print "<tr>
                 <td>{$cards[$i]['card']}</td>
                 <td><input class='amount' size='3' value='{$cards[$i]['pay']}'></td>
             </tr>";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-11
        • 1970-01-01
        • 2013-11-24
        • 2022-01-12
        • 2021-02-20
        • 1970-01-01
        • 2016-09-11
        相关资源
        最近更新 更多