【问题标题】:php - Can print multidimensional array, but not echo single valuephp - 可以打印多维数组,但不能回显单个值
【发布时间】:2015-03-24 12:52:59
【问题描述】:

发布数组后,我可以 print_r 显示整个数组,但无法回显单个值。我需要获取这些单个值,以便可以将它们放入文本项的值标记中。目前,每次我发布页面时,这些值都会消失,这是因为我找不到如何获取相应的值。

当我 print_r($subs) 我得到正确的值 -

Array
(
    [0] => Array
        (
            ['subs_name'] => Image PC and load programs
            ['subs_target'] => 03/10/2015
            ['subs_owner'] => 1
        )

    [1] => Array
        (
            ['subs_name'] => Update Inventory
            ['subs_target'] => 03/17/2015
            ['subs_owner'] => 1
        )

    [2] => Array
        (
            ['subs_name'] => Deploy PC
            ['subs_target'] => 03/24/2015
            ['subs_owner'] => 1
        )

    [3] => Array
        (
            ['subs_name'] => Follow up with user
            ['subs_target'] => 03/31/2015
            ['subs_owner'] => 1
        )

)

如果我尝试回显 $subs[0]['subs_target'] 我不会得到任何回报。我确定我在做一些愚蠢的事情,但我无法确定那是什么。我浏览了几篇文章并没有找到解决方案。

这是我用来设置数组的表单输入 -

    while ($row = $stmt->fetch()) {
        echo "                  <tr>\n";
        echo "                      <td>\n";
        echo "<input type=\"hidden\" name=\"subs[$count]['subs_name']\" class=\"none\" value=\"" . $row['prosub_name'] . "\">";
        echo "<p>" . $row['prosub_name'] . "</p>";
        echo "</td>\n";
        echo "                      <td align=\"center\">\n";
        echo "                          <input type=\"text\" class=\"datepicker\" name=\"subs[$count]['subs_target']\" value=\"" . $subs["$count"]['subs_target'] . "\">\n"; 
        echo "</td>\n";
        echo "                      <td align=\"center\">\n";
        echo "                          <select name=\"subs[$count]['subs_owner']\" class=\"diedit\">\n"; 
        getUserDD($hid_owner, 'acc_tix_pro');
        echo "                          </select>\n"; 
        echo "                      </td>\n";
        echo "                  </tr>\n";
        $count++;
    }

【问题讨论】:

  • 你有什么错误吗?
  • 没有错误,也没有价值。如果我写 echo "~" 。 $subs[0]['subs_target'] 。 "~";我得到了回报~~
  • 尝试 error_reporting(E_ALL);
  • 这真的是print_r 转储吗? (意思是未触及),索引不应该被引用,除非有一个文字单引号,这很奇怪。如果是这样的话,试试echo $subs[0]["'subs_target'"]
  • 幽灵,就是这样。我在输入的名称周围加上了单引号。

标签: php arrays multidimensional-array


【解决方案1】:

尝试不使用 echo 而是使用 var_dump 来检查值:

 var_dump($subs[0]['subs_target']);

【讨论】:

  • 我得到一个 NULL 值。这直接在 print_r 前面。我已将代码的输入部分添加到原始问题中,因为这可能是我在构建数组时所做的一些奇怪的事情。
  • $subs["$count"] 可能与 $subst[$count] 不同,后者对我来说更有意义
猜你喜欢
  • 2021-07-19
  • 1970-01-01
  • 2016-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-11
  • 2023-03-18
  • 2014-06-13
相关资源
最近更新 更多