代码之家  ›  专栏  ›  技术社区  ›  mvasco

尝试在数组内部循环

php
  •  0
  • mvasco  · 技术社区  · 6 年前

    我正在处理一个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) {
    
            }
    

    但我得到了一个错误:

    在…..行中为foreach()提供的参数无效 (foreach ($str as $value) {

    我做错什么了?

    4 回复  |  直到 6 年前
        1
  •  6
  •   Bhavin Solanki    6 年前

    如果最后一个字符串是 45、42、12 然后你可以用 explode 功能 PHP

    $finalArray = explode(",",$str);
    
    foreach ($finalArray as $value) {
    
    }
    
        2
  •  1
  •   Milan Chheda guest271314    6 年前

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

    $array = explode(',', $str);
    foreach ($array as $value) {
     // code here...
    }
    
        3
  •  1
  •   Josep Widtantio    6 年前

    因为循环字符串变量。 要将字符串转换为数组,可以使用explode函数。

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

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

        4
  •  1
  •   whitelined    6 年前

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

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

    然后你可以通过这个循环。