从foreach显示适当的元素

时间:2017-02-15 04:41:28

标签: php arrays loops foreach

我希望回显数组中的一个元素,如sum1。但我只收到一封像s这样的字母。请解决这个问题。

$nums = array("sum1", 100, 200);
foreach ($nums as $value) {
    echo $value[0];
    echo $value[1];
}

2 个答案:

答案 0 :(得分:1)

如果你想只是从该数组中回显1个项目,你应该这样:

echo $nums[0];

如果你想遍历所有这些并展示每一个,那就这样做:

$nums = array("sum1", 100, 200);
foreach ($nums as $value) {
     echo $value."<br>";
}

你做错了什么

你已经在数组中循环,所以你有一个string。您可以从字符串中选择第一个字母,如下例所示:

$string = "A string";

echo $string[0];

将返回A,因为它是该字符串的第一个索引。这基本上就是你在循环中所做的。

您使String成为一个数组,它显示了您选择显示的索引。您可以阅读this,其中的问题询问如何执行此操作。我希望这会更加清晰。

答案 1 :(得分:0)

如果你想要数组的每个元素, 然后,

对于你的阵列,

$nums = array("sum1", 100, 200);
$nums[0] will be sum1
$nums[1] will be 100 
$nums[2] will be 200,

现在你的循环,

foreach ($nums as $value) {
   // here echo $value values are like 'sum1', 100, 200 will be printed.
   // by default string will be considered as array,
   // if you print $value[0], $value[1], $value[2], $value[3] for sum1, it will return, s, u, m, 1 respectively.
  // and integers will be considered as pure value, which you will get in $value only, not in $value[0], ....
}

我希望我解释了你的担忧。

感谢。