三大脚本常用函数对照表

三大脚本常用函数对照表
函数功能 VBScript JavaS cript PHP
数值 取绝对值 Abs(num) Math.abs(num) abs(num)
去位取整 Fix(num)
或 Int(num)
Math.round(num) floor(num)
十进制转十六进制 Hex(num)   dechex(num)
判断数值是否有效   isNaN(num)  
判断变量是否能数值化 IsNumeric(expr ession)   is_numeric(expr ession)
初始化和生成随机数 Randomize
与 Rnd[(number)]
Math.random() rand([min, ]max)
指定小数位数的四舍五入 Round(num[, digital]) .toFixed([num]) round(num[, digital])
字符串 大小写不敏感的比较 str1 = str2   strcasecmp(str1, str2)
或 strnatcasecmp(str1, str2)
或 strncasecmp(str1, str2, length) 其中 length 是当前环境下的字节数
或 substr_compare(str1, str2, start[, length[, bool]]) 脚本必须兼容 ASCII,不能比较非 ASCII 字符
取首字符的十进制 ANSI 码 Asc(str) 脚本必须兼容 ASCII,转非 ASCII 字符时必须兼容 ANSI   ord(str) 脚本必须兼容 ASCII,不能转非 ASCII 字符
取首字符的十进制 UCS-2 码 AscW(str) .charCodeAt(0)  
返回字符的当前环境十六进制码     bin2hex(str)
十进制 ANSI 码转字符 Chr(num) 脚本必须兼容 ASCII,转非 ASCII 字符时必须兼容 ANSI   chr(num) 脚本必须兼容 ASCII,不能转非 ASCII 字符
十进制 UCS-2 码转字符 ChrW(num) .fromCharCode([num1[, num2[, ...]]])  
拆字符串后以样本为隔合成新串     chunk_split(str, length, samp) 其中 length 是当前环境下的字节数
合并字符串成新字符串   .concat([str1[, str2[, ...]]])  
取字符串中样本的出现次数     count_chars(str[, mode]) 统计所有单字节目标的出现次数,返回数组
或 substr_count(str, samp[, start[, length]]) 位置是按当前环境下的字节计算
返回十六进制 UCS-2 UTF-16 码   escape(str) 其中 ASCII 数字、字母不转,反操作为 .unescape(str)  
内码转换     iconv(encoding, to_encoding, str)
或 mb_convert_encoding(str, to_encoding[, encoding])
取样本在字符串中首次的位置 InStr([start, ]str, samp[, comp]) .indexOf(samp[, start]) 正则最好用 .search(rgExp) strcspn(str, char[, start[, length]]) 只能查找单字节字符,返回的位置是按当前环境下的字节计算
或 stripos(str, samp[, start]) 大小写不敏感,返回的位置是按当前环境下的字节计算
或 strpos(str, samp[, start]) 大小写敏感,返回的位置是按当前环境下的字节计算
取样本在字符串中末次的位置   .lastIndexOf(samp[, start]) 或 strripos(str, samp[, start]) 大小写不敏感,返回的位置是按当前环境下的字节计算
或 strrpos(str, samp[, start]) 大小写敏感,返回的位置是按当前环境下的字节计算
变换大小写 LCase(str)
或 UCase(str)
.toLowerCase()
或 .toUpperCase()
strtolower(str)
或 strtoupper(str)
或 mb_convert_case(str, mode[, encoding]) 多字节字符可靠
或 mb_convert_kana(str[, mode[, encoding]]) 日文假名专用
或 ucfirst(str) 转换字符串首字母
或 ucwords(str) 转换每个英语单词的首字母
截取字符串一边指定字符数 Left(str, length)
或 Right(str, length)
   
取字符串字符数 Len(str) .length mb_strlen(str[, encoding])
取字符串在当前环境下的字节数     strlen(str)
取字符串在 UCS-2 下的字节数 LenB(str)    
截取字符串中指定字符数新串 Mid(str, start[, length]) .charAt(index)
或 .slice(start, [end])
或 .substr(start[, length])
或 .substring(start, end)
substr(str, start[, length]) 位置是按当前环境下的字节计算
将字符串中样本替换成新的 Replace(str, samp, new[, comp[, count[, start]]]) .replace(samp, new) str_ireplace(samp, new, str[, count]) 大小写不敏感
或 str_replace(samp, new, str[, count]) 大小写敏感
或 strtr(str, charlist1, charlist2) 大小写敏感,适用于单字节字符批量替换
或 strtr(str, A) 大小写敏感
或 mb_ereg_replace(samp, new, str[, mode]) 默认大小写敏感,多字节字符可靠
返回指定数量空格 Space(length)    
将字符串以样本为隔拆成数组 Split(str[, samp[, count[, comp]]]) .split([samp[, count]]) explode(samp, str[, count])
将字符串按给定长度拆成数组     str_split(str, length) 其中 length 是当前环境下的字节数
返回指定数量某字符或字符串 String(count, char)   str_repeat(str, count)
截取字符串从样本到结尾成新串     stristr(str, samp) 大小写不敏感
或 strstr(str, samp) 大小写敏感,别名为 strchr
或 strpbrk(str, charlist) 大小写敏感,样本为字符串 charlist 中任意字符
或 strrchr(str, char) 大小写敏感,取样本最后一次出现的位置为开头
字符串左右反向 StrReverse(str)   strrev(str) 只适用于单字节字符组成的字符串
将字符串以样本为隔拆成新串     strtok(str, samp) 利用反复执行获得不同的分割段
在字符串指定位置替换新内容     substr_replace(str, new, start[, length]) 位置是按当前环境下的字节计算
去除空格 Trim(str)
或 LTrim(str)
或 RTrim(str)
  trim(str[, co de])
或 ltrim(str[, co de])
或 rtrim(str[, co de])
特殊值 判断变量是否未初始化 IsEmpty(expr ession)   isset(expr ession)
判断变量是否为空 IsEmpty(expr ession)   empty(expr ession)
判断变量是否为无效型 IsNull(expr ession)   is_null(expr ession)
返回常量或变量类型 TypeName(v)
或 VarType(v)
  gettype(v)
数组 初始化数组 Array([v1[, v2[, ...]]]) “[v1, v2, v3]”
或 new Array([v1[, v2[, ...]]])
array([[i1 => ]v1[, ...]])
或 array_fill(start, size, v)
取变量或数组所有元素组新组   .concat([v1[, v2[, ...]]]) 允许新数组的元素重复 array_merge([A1[, A2[, ...]]])
或 array_merge_recursive([A1[, A2[, ...]]])
对多个数组取差集组成新组     array_diff([A1[, A2[, ...]]]) 只针对 A1 的差集
选出含有样本的元素组成子组 Filter(A, samp[, is[, comp]])    
用回调函数过滤数组成子组     array_filter(A [, str])
将数组元素用 str 连成字符串 Join(A[, str]) .join(str) implode(str, A) 别名为 join
对多个数组取交集组成新组     array_intersect([A1[, A2[, ...]]]) 只针对 A1 的交集
用回调函数变数组元素组新组     array_map(str, A1[, A2[, ...]])
若元素数不够则追加相同新元素     array_pad(A, size, v)
从数组中随机取一个或多个元素     array_rand(A[, count])
用回调函数将数组元素合为单值     array_reduce(A, str[, int]) 其中 int 为临时追加的数组首元素
数组元素左右反向   .reverse() array_reverse(A, TRUE)
取样本元素在数组中对应的键名     array_search(samp, A[, bool]) 只检测是否存在的话用
in_array(samp, A[, bool])
取数组一边首元素,余下成子组   .shift()
或 .pop()
array_shift(A)
或 array_pop(A)
从数组中截出一个或多个子组   .slice(start, [end]) array_slice(A, start[, size[, bool]) 得到一个同维数组
或 array_chunk(A, size [, bool]) 得到多维数组
将数组元素打乱随机生成新数组     shuffle(A)
数组元素排序   .sort([sortfunction]) sort(A[, arg])
或 rsort(A[, arg])
或 natsort(A)
或 natcasesort(A)
或 asort(A[, arg])
或 arsort(A[, arg])
或 array_multisort(A1[, arg1a[, arg1b[, A2[, arg2a[, ...]]]]])
截数组中一部分并用其它值取代   .splice(start, size[, v1[, v2[, ...]]]) array_splice(A1, start[, size[, A2]]) 若 size为负值,意思变为右边开始的 end 值
取数组元素数 UBound(A) - LBound(A) + 1 .length count(A[, arg])
移除数组中值重复的元素     array_unique(A)
添加新元素   .unshift([v1[, v2[, ...]]])
或 .push([v1[, v2[, ...]]])
array_unshift(A, v1[, v2[, ...]])
或 array_push(A, v1[, v2[, ...]])
用自定义回调函数改变数组元素     array _walk(A, str[, v])
或 array _walk_recursive(A, str[, v])
过程 生成对函数和子过程的引用 GetRef(procname)