Php 从SQL数组中添加字符串长度
我正在尝试从插入的URL添加字符长度。我已经从数据库中获取了一个数组中的所有选定URL,并试图将它们添加到一个foreach函数中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
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;
}