【问题标题】:php foreach echo prints "Array" as valuephp foreach echo 将“Array”打印为值
【发布时间】:2012-11-09 05:25:03
【问题描述】:

也许我只是无法理解 php 如何处理数组。

我正在尝试使用 foreach 循环打印出一个数组。我似乎能从中得到的只是“数组”这个词。

<?php 
    $someArray[]=array('1','2','3','4','5','6','7'); // size 7
    foreach($someArray as $value){ 
        echo $value;    
?> 

<br />

<?php
    }
?>

这会打印出这个:

Array

我很难理解为什么会这样。如果我像上面一样预先定义一个数组,它将打印“Array”。似乎我必须手动定义所有内容......这意味着我一定做错了什么。

这行得通:

<?php 
    $someArray[0] = '1';
    $someArray[1] = '2';
    $someArray[2] = '3';
    $someArray[3] = '4';
    $someArray[4] = '5';
    $someArray[5] = '6';
    $someArray[6] = '7';

    for($i=0; $i<7; $i++){
        echo $someArray[$i]."<br />";
    }
?>

为什么 foreach 不起作用?

这里有一个链接可以看到它的实际效果 >> http://phpclass.hylianux.com/test.php

【问题讨论】:

    标签: php arrays foreach


    【解决方案1】:

    您没有正确声明数组。
    您必须删除方括号:[]

    <?php 
    $someArray=array('1','2','3','4','5','6','7'); // size 7
    foreach($someArray as $value){ 
        echo $value;    
    ?>  <br />
    <?php
    }
    ?>
    

    【讨论】:

    • +1。为了让 OP 完全清楚,[]= 运算符本质上意味着“将右侧参数附加到作为左侧参数的数组中”。因此,您将数组['1','2','3','4','5','6','7'] 附加到虚无,从而产生[['1','2','3','4','5','6','7']];一个数组,其第一个(也是唯一一个)元素是您指定的数组。
    • 原来如此。伙计...我是跨语言语法混乱的受害者。我太习惯java了:)
    【解决方案2】:

    试试:

    <?php 
    $someArray = array('1','2','3','4','5','6','7'); // size 7
    foreach($someArray as $value){ 
        echo $value . "<br />\n";
    }
    ?>
    

    或者:

    <?php
    $someArray = array(
      0 => '1',
      'a' => '2',
      2 => '3'
    );
    foreach($someArray as $key => $val){
      echo "Key: $key, Value: $val<br/>\n";
    }
    ?>
    

    【讨论】:

      【解决方案3】:

      实际上,您正在将一个数组添加到另一个数组中。

      $someArray[]=array('1','2','3','4','5','6','7'); 
      

      正确的方法是

      $someArray=array('1','2','3','4','5','6','7'); 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多