php foreach echo打印"Array"作为值

Edg*_*ort 3 php arrays foreach

也许我只是在理解php如何处理数组时遇到了麻烦.

我正在尝试使用foreach循环打印出一个数组.我似乎可以摆脱它的是"阵列"这个词.

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

<br />

<?php
    }
?>
Run Code Online (Sandbox Code Playgroud)

这打印出来:

Array
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么会出现这种情况.如果我像上面那样在前面定义一个数组,那么它将打印"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 />";
    }
?>
Run Code Online (Sandbox Code Playgroud)

为什么foreach不工作?

这是一个链接,可以看到它在行动>> http://phpclass.hylianux.com/test.php

Lio*_*ior 12

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

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


Twi*_*sty 5

尝试:

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

或者:

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