【问题标题】:array output var_dump and echo contradiction PHP [closed]数组输出 var_dump 和 echo 矛盾 PHP [关闭]
【发布时间】:2013-12-15 16:57:03
【问题描述】:

我的数组输出有问题,下面是我在 var_dump 中输出的一个二维数组,但是当我回显这个数组时,它只显示总共 9 个索引,而不是显示 3 行多行的 9 9 9 个索引维数组。 var_dump的输出

array (size=3)
  0 => 
    array (size=11)
      0 => string '' (length=0)
      1 => string '<p class=" td26">' (length=17)
      2 => string '<p class=" td26">' (length=17)
      3 => string '<p class=" td26">' (length=17)
      4 => string '<p class=" td26">' (length=17)
      5 => string '<p class=" td26">' (length=17)
      6 => string '<p class=" td26">' (length=17)
      7 => string '<p class=" td26">' (length=17)
      8 => string 'Mining' (length=6)
      9 => string '<p class=" td26">' (length=17)
      10 => string '<p class=" td26">' (length=17)
  1 => 
    array (size=11)
      0 => string '' (length=0)
      1 => string 'Abc<p class="tr3 td26">' (length=23)
      2 => string '<p class=" td26">' (length=17)
      3 => string 'Ahsan<p class="tr3 td26">' (length=25)
      4 => string '<p class=" td26">' (length=17)
      5 => string 'mm<p class="tr3 td26">' (length=22)
      6 => string '<p class=" td26">' (length=17)
      7 => string 'oo<p class="tr3 td26">' (length=22)
      8 => string '<p class=" td26">' (length=17)
      9 => string 'kk<p class="tr3 td26">' (length=22)
      10 => string '<p class=" td26">' (length=17)
  2 => 
    array (size=11)
      0 => string 'Fical' (length=5)
      1 => string '2005-06' (length=7)
      2 => string '2006-07' (length=7)
      3 => string '2007-08' (length=7)
      4 => string '2008-09' (length=7)
      5 => string '2009-10' (length=7)
      6 => string '2010-11' (length=7)
      7 => string '2011-12' (length=7)
      8 => string '2012-13' (length=7)
      9 => string 'Change' (length=6)
      10 => string 'Change2' (length=7)

回声输出:

Abc
Ahsan
mm
oo
kk
Fical
2005-06
2006-07
2007-08
2008-09
2009-10

10 是我在某个变量中定义的限制,但问题是,当我打印小于 10 的值时,它们打印得很好(显然),但不超过 10,我应该怎么做/查看?

错误代码(已经说过错误):

foreach($d as $k=>$v){

  if(($v=='')&&($k!==0)){

    $d[$k].="<p class=\" td26\">" ;
    $d[$k-1].="<p class=\"tr3 td26\">" ;

   }

}

【问题讨论】:

    标签: php arrays printing output


    【解决方案1】:

    这是您的代码:

    foreach($d as $k=>$v){
      if(($v=='')&&($k!==0)){
        $d[$k].="<p class=\" td26\">" ;
        $d[$k-1].="<p class=\"tr3 td26\">" ;
       }
    }
    

    为什么要设置$d[$k],然后紧接着设置$d[$k-1]? $k-1 有效地覆盖了您以前的值?为什么不这样做:

    foreach($d as $k=>$v){
      if(($v=='')&&($k!==0)){
        $d[$k].="<p class=\" td26\">"
              . "<p class=\"tr3 td26\">"
              ;
       }
    }
    

    除非我完全错过了您的代码的目标?

    【讨论】:

    • 因为我需要从数组索引和它以前的索引中添加下划线,除了 0。
    【解决方案2】:

    您是在浏览器上还是在命令行上测试此脚本?

    如果你在浏览器上,这是很正常的,因为打印一个类似的字符串

     <p class="td26">
    

    根本不可见... :-)

    此外,您不能使用 echo 打印数组的值(您应该只获得字符串“Array”...)。

    你或许应该更好地解释你想要获得什么......

    【讨论】:

    • 将可见,我试过 .. :P ;)
    • HTML 中的“

      ”你看到了什么? :-)

    • 你应该打开页面的源代码,查看它... :-)
    • 它基本上是从数组索引中添加自定义下划线。这就是 Y .. 它的工作原理很好,btw 不到 10 个值 .. ;)
    • “自定义下划线”?
    猜你喜欢
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    相关资源
    最近更新 更多