php foreach echo打印“;数组";作为价值

php foreach echo打印“;数组";作为价值,php,arrays,foreach,Php,Arrays,Foreach,也许我只是在理解php如何处理数组时遇到了困难 我试图使用foreach循环打印出一个数组。我能从中得到的似乎只有“数组”这个词 我很难理解为什么会这样。如果我像上面那样预先定义一个数组,它将打印“array”。似乎我必须手动定义所有内容。。。这意味着我一定做错了什么 这项工作: <?php $someArray[0] = '1'; $someArray[1] = '2'; $someArray[2] = '3'; $someArray[3] = '4';

也许我只是在理解php如何处理数组时遇到了困难

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

我很难理解为什么会这样。如果我像上面那样预先定义一个数组,它将打印“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不起作用


这里有一个链接,可以查看它的运行情况>

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

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

试试:


或:


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

$someArray[]=array('1','2','3','4','5','6','7'); 
正确的方法是

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

+1.为了让OP完全明白,
[]=
操作符本质上意味着“将右侧参数附加到数组,该数组是左侧参数。”因此,您将数组
['1'、'2'、'3'、'4'、'5'、'6'、'7']
附加到虚无,从而导致
[[1'、'2'、'3'、'4'、'5'、'6'、'7']
;一个数组,其第一个(也是唯一一个)元素是您指定的数组。它就是这样。男人。。。我是跨语言语法混乱的受害者。我太习惯java了:)
<?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";
}
?>
$someArray[]=array('1','2','3','4','5','6','7'); 
$someArray=array('1','2','3','4','5','6','7');