2013-08-16 68 views
-1

我上下搜索,但似乎无法让这个数组正常工作,我错过了一些简单的东西,但无法弄清楚究竟是什么。PHP多维数组不显示值

<?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>";         
     } 
    } 

?> 

输出:数组[ '卡']数组[ '卡']数组[ '卡']数组[ '卡']

+1

好奇,为什么它有反对票?如果你想让某人失望,你应该提供有关为什么的反馈。 – Brant

回答

1

这是你的输出语句,这个固定对我来说:

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

参考:Variable parsing

变量解析

当用双引号或heredoc指定字符串时,将在其中分析变量 。

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

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

更新:

请阅读“简单的语法”,特别是在“复杂的语法”对于这种特殊情况下。

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