试图在数组内部循环

时间:2018-09-10 09:28:03

标签: php

我正在处理一个PHP文件。

我通过POST收到了一个字符串数组:

$str = (45,42,12,);

首先,我删除最后一个逗号:

$str = substr($string_temas,0,-1);

我明白了

$str = (45,42,12);

要检查它,我回声了:

echo "str value=".$str;

我得到回声结果:

str值= 45,42,12

然后我尝试为每个项目循环播放,如下所示:

foreach ($str as $value) {

        }

但是我遇到一个错误:

在..... line (foreach ($str as $value) {

中为foreach()提供了无效的参数

我在做什么错了?

4 个答案:

答案 0 :(得分:6)

如果最终字符串为 45,42,12 ,则可以使用 PHP

explode函数
$finalArray = explode(",",$str);

foreach ($finalArray as $value) {

}

答案 1 :(得分:1)

循环之前,您需要一个数组。您可能想explode字符串:

$array = explode(',', $str);
foreach ($array as $value) {
 // code here...
}

答案 2 :(得分:1)

因为您循环了字符串变量。 要将字符串转换为数组,可以使用爆炸功能。

foreach (explode(",", $str) as $value) {
    ...
}

http://php.net/manual/en/function.explode.php https://www.w3schools.com/php/func_string_explode.asp

答案 3 :(得分:1)

您只会从请求数据中收到一个字符串,而不是数组。使用爆炸将逗号分隔的数据拆分为一个数组

$arr=explode(',',$str);

然后您可以循环浏览