Php 从SQL数组中添加字符串长度

Php 从SQL数组中添加字符串长度,php,mysql,html,Php,Mysql,Html,我正在尝试从插入的URL添加字符长度。我已经从数据库中获取了一个数组中的所有选定URL,并试图将它们添加到一个foreach函数中 function countLen($email) { $countLen = mysql_query("SELECT url FROM urls WHERE user='$email'"); $resultLen = mysql_result($countLen, 0); foreach($resultLen as &$stri

我正在尝试从插入的URL添加字符长度。我已经从数据库中获取了一个数组中的所有选定URL,并试图将它们添加到一个foreach函数中

function countLen($email) {

    $countLen = mysql_query("SELECT url FROM urls WHERE user='$email'");
    $resultLen = mysql_result($countLen, 0);

    foreach($resultLen as &$string) {


        $length = strlen($string);
        $totallen = ($totallen + $length);

        return $totallen;




    }





}

您可以在SQL中进行所有求和:

function countLen($email)
{
    $res = mysql_query("SELECT SUM(LENGTH(url)) as 'sum' FROM urls WHERE user='$email'");
    return current(mysql_fetch_array($res));
}
尝试:


回路应位于回路外侧。。像

function countLen($email) {

  $countLen = mysql_query("SELECT url FROM urls WHERE user='$email'");
  $resultLen = mysql_result($countLen, 0);
  $totallen = 0;
  foreach($resultLen as &$string) {
    $length = strlen($string);
    $totallen = ($length + $totallen);
  }
  return $totallen;
}

您似乎是从foreach内部返回的。你的意思是这样吗?你需要把return语句移出foreach循环。
function countLen($email) {

  $countLen = mysql_query("SELECT url FROM urls WHERE user='$email'");
  $resultLen = mysql_result($countLen, 0);
  $totallen = 0;
  foreach($resultLen as &$string) {
    $length = strlen($string);
    $totallen = ($length + $totallen);
  }
  return $totallen;
}