Php Foreach仅从数组中获取第一个值

Php Foreach仅从数组中获取第一个值,php,loops,foreach,submit,Php,Loops,Foreach,Submit,我有以下代码: $referrals = inputFilter($_POST['referralsIds']); $array =explode(",",$referrals); foreach($array as $key=>$value): / $s=mysql_query("SELECT * FROM users WHERE upline='".$userdata['id'].

我有以下代码:

         $referrals = inputFilter($_POST['referralsIds']);
         $array =explode(",",$referrals);

         foreach($array as $key=>$value):

            /
            $s=mysql_query("SELECT * FROM users WHERE upline='".$userdata['id']."' AND id='$value'");
            $num_rows=mysql_num_rows($s);

            if($num_rows==0)
                return 2;

        // No error found and the update was succesful - Return success!            
            mysql_query("UPDATE users SET upline='' WHERE id='$value'");
            mysql_query("UPDATE users SET rbalance=rbalance-".$sdata['direct_delete_fee'].", direct_referrals=direct_referrals-1 WHERE username='".$userdata['username']."'");

            return 100; 

         endforeach;
$referrals变量发布了两个值(10,11)。但是当我将其放入foreach循环中时,它将只使用第一个值(10)运行查询。如何在提交的所有值中运行它


谢谢。

那么您有两个值,然后将其分解但我想你指的是$array


您有
return 100
,它将从函数和foreach返回。

因此您有两个值,然后分解它:但我想你指的是$array


您有一个
return 100
,它将从函数和foreach返回。

您的for循环中有一个
return 100
。它将在第一次迭代时终止循环


return
语句终止封闭函数。如果需要返回多个结果,请考虑将它们推到数组中,然后在完成后返回数组。

您的for循环中有<代码>返回100 < /代码>。它将在第一次迭代时终止循环


return
语句终止封闭函数。如果需要返回多个结果,请考虑将它们推到数组中,然后在完成后返回数组。

在每个

结束之前,您都有代码返回。
     return 100; //HERE
 endforeach;
您可能想要:

endforeach;
return 100;

在for each结束之前,您将返回代码

     return 100; //HERE
 endforeach;
您可能想要:

endforeach;
return 100;

在循环的第一次迭代中,无论使用什么函数,都会返回100。返回将导致循环立即停止。

在循环的第一次迭代中,无论使用什么函数,都将返回100。返回将导致循环立即停止。

您的返回语句将在循环第一次运行时退出循环。您的返回语句将在循环第一次运行时退出循环