【问题标题】:How to print or echo the array index of in PHP如何在 PHP 中打印或回显数组索引
【发布时间】:2012-06-22 22:58:31
【问题描述】:

我正在努力完成我的任务,这是现在要做的最后一件事。

我知道如果我想打印整个数组,我可以使用foreach 和许多不同的方法来打印整个数组

foreach($v as $k=>$variable_name) { echo "<p> This is index of $k. value is $variable_name <br/></p>";}

但是如果我只想单独打印每个索引呢?

我想在每个表单下显示错误消息,这就是为什么我希望每个表单都分开。

我尝试使用$v[0] 并没有出现任何内容。

有什么技巧或我错过了什么吗?

【问题讨论】:

  • 如果$v[0] 中有内容,那么echo $v[0] 应该可以工作。我们需要更多信息来诊断此问题。
  • @deceze 我收到一堆错误消息,它们使用 array_push 存储在该数组中,现在我想在每个位置以不同的方式显示它们。
  • PHP 中的数组索引是什么意思?
  • @SomnathMuluk 就像我们有 10 个字符串将存储在数组中,我想打印它们中的每一个,比如 0、1、2 的索引。
  • 还是没有。你能通过样本数据来展示吗?所以很容易理解你的问题。

标签: php arrays printing echo


【解决方案1】:

array_keys() 将打印数组中的索引。

print_r(array_keys($arr));

【讨论】:

  • 谢谢,这正是打印非关联数组的自定义索引号所需要的。
【解决方案2】:

如果你说的是关联数组,你需要直接获取索引:

例子:

$array = array ('test' => 'value1', 'test2' => 'value2');   
echo $array['test']; // value1

您可以执行 print_r($array) 来查看格式正确的数组结构:

<pre>
<?php print_r($array);?>
</pre>

你正在做的是通过它的数字索引来获取一个值,就像在

$array = array('test','test2','test3');
echo $array[0];  // test

另外,您可以使用array_key_exists() 预先检查密钥是否存在:

var_dump(array_key_exists('test2',$array));  // (bool) TRUE

【讨论】:

    【解决方案3】:

    如果您使用的是foreach 循环,那么您可能使用的是关联数组(即$v['inputName'])因此,使用$v[0] 将不起作用,因为索引不是由数字定义的——它们是由字母定义。您可以使用 foreach 循环将所有值关联到编号索引,然后像这样使用它。

    $x = array();
    foreach($v as $key=>$value) {
    
       $x[count($x)] = $key;
    
    }
    
    echo $x[0];
    

    在这种情况下$x[0] 可以工作

    【讨论】:

      【解决方案4】:

      您可以使用 php array_keys 函数来获取所有密钥。如果它的关联数组,

      $array = array("color" => array("blue", "red", "green"),
                     "size"  => array("small", "medium", "large"));
      print_r(array_keys($array));
      

      输出将是:

      Array
      (
          [0] => color
          [1] => size
      )
      

      其他方法是:

      if(is_array($v){
          foreach($v as $k=>$value) { 
               echo "<br/>". $k ;  // $k is the key 
          }
      }
      

      【讨论】:

        【解决方案5】:

        我相信你正在寻找这个:http://php.net/manual/en/function.array-keys.php

        尝试(从上面的页面):

        <?php
          $array = array(0 => 100, "color" => "red");
          print_r(array_keys($array));
        
          $array = array("blue", "red", "green", "blue", "blue");
          print_r(array_keys($array, "blue"));
        
          $array = array("color" => array("blue", "red", "green"),
                       "size"  => array("small", "medium", "large"));
          print_r(array_keys($array));
        ?>
        

        【讨论】:

          【解决方案6】:

          使用print_r函数打印数组:

          print_r($array)
          

          【讨论】:

          • 非常正确,确实,这是最简单的:)
          猜你喜欢
          • 2012-04-06
          • 1970-01-01
          • 1970-01-01
          • 2021-11-08
          • 1970-01-01
          • 2021-09-19
          相关资源
          最近更新 更多