也许我只是无法理解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不会工作?
这是一个链接,可以看到它的实际效果&gt;&gt; http://phpclass.hylianux.com/test.php
答案 0 :(得分:11)
您尚未正确声明阵列
您必须删除方括号:[]
。
<?php
$someArray=array('1','2','3','4','5','6','7'); // size 7
foreach($someArray as $value){
echo $value;
?> <br />
<?php
}
?>
答案 1 :(得分:3)
尝试:
<?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";
}
?>
答案 2 :(得分:1)
实际上,您正在将数组添加到另一个数组中。
$someArray[]=array('1','2','3','4','5','6','7');
正确的方法是
$someArray=array('1','2','3','4','5','6','7');