首页技术substr函数返回值?函数可以没有返回值

substr函数返回值?函数可以没有返回值

编程之家2026-06-28768次浏览

大家好,感谢邀请,今天来为大家分享一下substr函数返回值的问题,以及和函数可以没有返回值的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

substr函数返回值?函数可以没有返回值

在下列函数中,函数返回值为数值的是( )。

【答案】:C

STR(<数值表达式>):数值转换成字符串函数,返回值为字符串;SPACE(<数值表达式>)返回由指定数目的字符串,返回值是字符串;AT(.<字符表达式>,<字符表达式>)返回第一表达式的首字母在第二个表达式中出现的位置,返回值是数值;SUBSTR(<字符表达式>,<起始位置>[,<长度>])从表达式指定位置截取一个指定长度的字符串,返回值是字符串。

解析使用substr截取UTF-8中文字符串出现乱码的问题

我们知道有时候使用substr来截取UTF-8中文字符串的时候,经常会出现乱码,为什么会出现这样的问题呢,本文告诉你答案。

看这样一段代码吧(字符编码为UTF-8):

复制代码

代码如下:

substr函数返回值?函数可以没有返回值

<?

$str

=

'都知道strlen与mb_strlen是求字符串长度的函数';

echo

strlen($str)'.<br

substr函数返回值?函数可以没有返回值

/>'.mb_strlen($str,'utf-8');

?>

运行上述代码,返回值如下:

66

34

怎么样?strlen中,中文是三个字节的长度,英文则是一个字节的长度!mb_strlen中,都被计算为一字节的长度!所以,我们有时候用substr来截取UTF-8中文字符串的时候,经常会出现乱码,就是这个原因了!

下面提供一个截取UTF-8字符串的函数:

复制代码

代码如下:

function

cutstr($sourcestr,$cutlength){

$returnstr

=

'';

$i

=

0;

$n

=

0;

$str_length

=

strlen($sourcestr);

$mb_str_length

=

mb_strlen($sourcestr,'utf-8');

while(($n

<

$cutlength)

&&

($i

<=

$str_length)){

$temp_str

=

substr($sourcestr,$i,1);

$ascnum

=

ord($temp_str);

if($ascnum

>=

224){

$returnstr

=

$returnstr.substr($sourcestr,$i,3);

$i

=

$i

+

3;

$n++;

}

elseif($ascnum

>=

192){

$returnstr

=

$returnstr.substr($sourcestr,$i,2);

$i

=

$i

+

2;

$n++;

}

elseif(($ascnum

>=

65)

&&

($ascnum

<=

90)){

$returnstr

=

$returnstr.substr($sourcestr,$i,1);

$i

=

$i

+

1;

$n++;

}

else{

$returnstr

=

$returnstr.substr($sourcestr,$i,1);

$i

=

$i

+

1;

$n

=

$n

+

0.5;

}

}

if

($mb_str_length

>

$cutlength){

$returnstr

=

$returnstr

.

"...";

}

return

$returnstr;

}

使用例子:

复制代码

代码如下:

<?

$str

=

'有效期最长三个月,超过有效期系统将自动删除本条信息';

//echo

strlen($str);

//echo

'<hr

/>'.mb_strlen($str,'utf-8');

echo

'<hr

/>'.$str;

echo

'<hr

/>'.cutstr($str,24);

?>

求Visual Foxpro常用函数

Visual Foxpro函数一、数值函数

数值函数用于数值运算,其自变量与函数都是数值型数据。

1.取绝对值函数ABS()

【格式】ABS(<nExp>)

【功能】计算nExp的值,并返回该值的绝对值。

2.指数函数EXP()

【格式】EXP(<nExp>)

【功能】求以e为底、nExp值为指数的幂,即返回ex的值。

3.取整函数INT()

【格式】INT(<nExp>)

【功能】计算nExp的值,返回该值的整数部分。

4.上界函数CEILING()

【格式】CEILING(<nExp>)

【功能】计算nExp的值,返回一个大于或等于该值的最小整数。

5.下界函数FLOOR()

【格式】FLOOR(<nExp>)

【功能】计算nExp的值,返回一个小于或等于该值的最大整数。

6.自然对数函数LOG()

【格式】LOG(<nExp>)

【功能】求nExp的自然对数。nExp的值必须为正数。

7.常用对数函数

【格式】LOG10(<nExp>)

【功能】求nExp的常用对数。nExp的值必须为正数。

8.平方根函数SQRT()

【格式】SQRT(<nExp>)

【功能】求非负nExp的平方根。

9.最大值函数MAX()和最小值函数MIN()

【格式】MAX(<nExp1>,< nExp2>[,< nExp3>...])

MIN(<nExp1>,< nExp2>[,< nExp3>...])

【功能】返回数值表达式中的最大值MAX()和最小值MIN()。

10.求余数函数MOD()

【格式】MOD(<nExp1>,<nExp2>)

【功能】返回nExp1除以nExp2的余数。余数的小数位数与nExp1相同,符号与nExp2相同。

11.四舍五入函数ROUND()

【格式】ROUND(<nExp1>,< nExp2>)

【功能】返回nExp1四舍五入的值, nExp2表示保留的小数位数。

12.π函数PI()

【格式】PI()

【功能】返回常量π的近似值

13.正弦函数SIN()

【格式】SIN(<nExp>)

【功能】返回nExp的正弦值。nExp以弧度为单位,函数值域为[-1,1]。

14.余弦函数COS()

【格式】COS(<nExp>)

【功能】返回nExp的余弦值。nExp以弧度为单位,函数的值域为[-1,1]。

15.正切函数TAN()

【格式】TAN(<nExp>)

【功能】返回nExp的正切值。nExp以弧度为单位,其值为π/2或-π/2时,系统返回一个绝对值很大的数。

16.反正弦函数ASIN()

【格式】ASIN(<nExp>)

【功能】返回nExp的反正弦值。自变量值必须在[-1,1]内,函数值为弧度,且值域为[-π/2,π/2]。

17.反余弦函数ACOS()

【格式】ACOS(<nExp>)

【功能】返回nExp的反余弦值。自变量的值必须在[-1,1]内,函数值为弧度,值域为[-π/2,π/2]。

18.反正切函数ATAN()

【格式】ATAN(<nExp>)

【功能】返回nExp的反正切值。函数值为弧度,值域为(-π/2,π/2)。二、字符函数

字符函数是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据。函数中涉及的字符型数据项,均以cExp表示。

1.子串位置函数

【格式】AT(<cExp1>,< cExp 2>)

【功能】返回串cExp1在串cExp2中的起始位置。函数值为整数。如果串cExp2不包含串cExp1,函数返回值为零。

2.取左子串函数LEFT()

【格式】LEFT(<cExp>,<nExp>)

【功能】返回从cExp串中第一个字符开始,截取nExp个字符的子串。

3.取右子串函数RIGHT()

【格式】RIGHT(<cExp>,< nExp>)

【功能】返回从cExp串中右边第一个字符开始,截取nExp个字符的子串。有关说明同LEFT()函数。

4.取子串函数SUBSTR()

【格式】SUBSTR(<cExp>,<nExp1> [,< nExp2>])

【功能】返回从串cExp中第nExp1个字符开始,截取nExp2个字符的子串。

5.字符串长度函数LEN()

【格式】LEN(<cExp>)

【功能】返回cExp串的字符数(长度)。函数值为N型。

6.删除字符串前导空格函数LTRIM()

【格式】LTRIM(<cExp>)

【功能】删除cExp串的前导空格字符。

7.删除字符串尾部空格函数RTRIM()| TRIM()

【格式】RTRIM| TRIM(<cExp>)

【功能】删除cExp串尾部空格字符。

8.空格函数SPACE()

【格式】SPACE(<nExp>)

【功能】返回一个包含nExp个空格的字符串。

9.字符串替换函数STUFF()

【格式】STUFF(<cExp1>,<nExp1>,<nExp2>,<cExp2>)

【功能】从nExp1指定位置开始,用cExp2串替换 cExp1串中nExp2个字符。

10.字符复制函数 REPLICATE()

【格式】REPLICATE(<cExp>,<nExp>)

【功能】返回将cExp串重复nExp次的字符串。

11.定义输出格式函数 TRANSFORM()

【格式】TRANSFORM(<eExp>,<cExp>)

【功能】按格式描述式cExp指定的格式,输出任意表达式eExp的值。

12.大小写转换函数LOWER()和UPPER()

【格式】LOWER(<cExp>)

UPPER(<cExp>)

【功能】LOWER()将cExp串中字母全部变成小写字母,UPPER()将cExp串中字母全部变成大写字母,其它字符不变。

13.宏替换函数&

【格式】&< cVar>[.< cExp>]

【功能】替换出字符型变量cVar中字符。三、日期时间函数

日期时间函数是处理日期型或日期时间型数据的函数。其自变量为日期型表达式dExp或日期时间型表达式tExp。

1.系统日期函数DATE()

【格式】DATE()

【功能】返回当前系统日期,此日期由Windows系统设置。函数值为D型。

2.系统时间函数TIME()

【格式】TIME([<nExp>])

【功能】返回当前系统时间,时间显示格式为hh:mm:ss。若选择了nExp,则不管为何值,返回的系统时间还包括秒的小数部分,精确至小数点后两位。函数值为C型。

3.日期函数DAY()

【格式】DAY(<dExp>)

【功能】返回dExp式中的天数。函数值为N型

4.星期函数DOW()、CDOW()

【格式】DOW(<dExp>)

CDOW(<dExp>)

【功能】DOW()函数返回dExp式中星期的数值,用1~7表示星期日~星期六。函数值为N型。CDOW()函数返回dExp式中星期的英文名称。函数值为C型。

5.月份函数MONTH()、CMONTH()

【格式】MONTH(<dExp>)

CMONTH(<dExp>)

【功能】MONTH()函数返回dExp式中月份数。函数值为N型。CMONTH()函数则返回月份的英文名。函数值为C型。

6.年份函数YEAR()

【格式】YEAR(<dExp>)

【功能】函数返回dExp式中年份值。函数值为N型。四、转换函数

在数据库应用的过程中,经常要将不同数据类型的数据进行相应转换,满足实际应用的需要。Visual FoxPro系统提供了若干个转换函数,较好地解决了数据类型转换的问题。

1.ASCII码函数ASC()

【格式】ASC(<cExp>)

【功能】返回cExp串首字符的ASCII码值。函数值为N型。

2.ASCII字符函数CHR()

【格式】CHR(<nExp>)

【功能】返回以nExp值为ASCII码的ASCII字符。函数值为C型。

3.字符日期型转换函数CTOD()

【格式】CTOD(<cExp>)

【功能】把“××/××/××”格式的cExp串转换成对应日期值。函数值为D型。

4.日期字符型转换函数DTOC()

【格式】DTOC(<dExp>〔, 1〕)

【功能】把日期dExp转换成相应的字符串。函数值为C型。

5.数值字符型转换函数STR()

【格式】STR(<nExp1>[,< nExp2>][,< nExp3>])

【功能】将nExp1的数值转换成字符串形式。函数值为C型。

6.字符数值型转换函数VAL()

【格式】VAL(<cExp>)

【功能】将cExp串中数字转换成对应数值,转换结果取两位小数。函数值为N型。五、测试函数

在数据库应用的操作过程中,用户需要了解数据对象的类型、状态等属性,Visual FoxPro提供了相关的测试函数,使用户能够准确地获取操作对象的相关属性。

1.数据类型函数TYPE()

【格式】TYPE(<cExp>)

【功能】返回cExp串表示的数据对象的数据类型,返回值是一个表示数据类型的大写字母。C:字符型,D:日期型,N:数值型,L:逻辑型,M:备注型,G:通用型,U:未定义。

2.文件查找函数FILE()

【格式】FILE(<cExp>)

【功能】根据cExp串中指定路径查找文件,如未指定路径,则在默认目录中查找。文件存在,返回逻辑真(.T.)值,否则为逻辑假(.F.)值。

3.条件测试函数IIF()

【格式】IIF(<lExp>,<eExp 1>,<eExp2>)

【功能】逻辑表达式lExp值为真(.T.),返回表达式eExp1的值,否则返回表达式eExp2的值。eExp1和eExp2可以是任意数据类型的表达式。

4.表结束标志测试函数EOF()

【格式】EOF([<工作区号>|<别名>])

【功能】测试记录指针是否移到表结束处。如果记录指针指向表中尾记录之后,函数返回真(.T.),否则为假(.F.)。

5.表起始标识测试函数BOF()

【格式】BOF([<工作区号>|<别名>])

【功能】测试记录指针是否移到表起始处。如果记录指针指向表中首记录前面,函数返回真(.T.),否则为假(.F.)。工作区说明见EOF()函数。

6.当前记录号函数RECNO()

【格式】RECNO([<工作区号>|<别名>])

【功能】返回指定工作区中表的当前记录的记录号。对于空表返回值为1。

7.当前记录逻辑删除标志测试函数DELETED()

【格式】DELETED([<工作区号>|<别名>])

【功能】测试指定工作区中表的当前记录是否被逻辑删除。如果当前记有逻辑删除标记,函数返回真(.T.),否则为假(.F.)。

8.记录数函数RECCOUNT()

【格式】RECCOUNT([<工作区号>|<别名>])

【功能】返回指定工作区中表的记录个数。如果工作区中没有打开表则返回0。

9.记录大小测试函数RECSIZE()

【格式】RECSIZE( [<工作区号>|<别名>])

【功能】返回指定工作区中表的记录总长度。如果工作区中没有打开表则返回0。

10.屏幕列坐标和行坐标函数 COL()、ROW()

【格式】COL()

ROW()

【功能】COL()返回光标的列坐标值,ROW()返回光标的行坐标值。

11.打印机列坐标和行坐标函数PCOL(),PROW()

【格式】PCOL()

PROW()

【功能】返回打印机打印头所处位置的列坐标和行坐标。

好了,文章到此结束,希望可以帮助到大家。

strcmp实现,strcmp的原理c语言入门教程零基础(c语言基础教程自学)