本文目录一览:
- 1、php中已知一个长度为20全为数字的字符串,怎么求这个字符串的最大乘积子串,其中子串长度为4
- 2、用PHP 随机生成一个三十位全是数字的字符串,从中找出最大的5个数,输出他们的乘积。
- 3、php 怎么判断字符串是不是数字?
- 4、求用php 随机函数生成一个长度为20的全是数字的字符串
- 5、使用 PHP 函数编写程序,判断输入一个变量为全数字,字符串长度不允许超过 18 位,不允许为空?
- 6、用php语句将数据库中字符串(字母+数字)变成纯数字?
php中已知一个长度为20全为数字的字符串,怎么求这个字符串的最大乘积子串,其中子串长度为4
//暴力解法
$numStr='23484901923434518703';
$numArr=str_split($numStr);
//连续长度
$len=4;
//最大乘积
$max=0;
//子串记录
$maxStr='';
for($i=0;$i=count($numArr)-$len;$i++){
$_max=1;
$_maxStr='';
for($j=$i;$j$i+$len;$j++){
$_max*=$numArr[$j];
$_maxStr.=$numArr[$j].'-';
}
if($_max$max){
$max=$_max;
$maxStr=rtrim($_maxStr,'-');
}
}
echo $max;
echo 'br';
echo $maxStr;
用PHP 随机生成一个三十位全是数字的字符串,从中找出最大的5个数,输出他们的乘积。
$arr=array();
$a=array();
for($i=0;$i30;$i++){
$arr[]=mt_rand(1,999); //生成30个随机数字
}
while(sizeof($arr)25){
$max=max($arr);
$a[]=$max; //找到其中最大的5个数字
$max_pos=array_keys($arr,$max);
unset($arr[$max_pos[0]]);
}
echo array_product($a); //输出结果
php 怎么判断字符串是不是数字?
用正则表达式判断
?php
$num="000, 025.00,000.25";
if(preg_match("/[^\d-., ]/",$num))
{
echo "不是数字: ".$num;
}
else
{
echo "是数字: ".$num;
}
?
注:php正则表达式
ereg( "^[A-Za-z0-9_.-]+$ ",$str);
eregi( "^[a-z0-9_.-]+$ ",$str);
is_float: 判断变数型态是否为浮点数型态。
is_int: 判断变数型态是否为整数型态。
is_integer: 判断变数型态是否为长整数型态。
is_long: 判断变数型态是否为长整数型态。
is_object: 判断变数型态是否为物件型态。
is_real: 判断变数型态是否为实数型态。
ereg -- 正则表达式匹配。若有更多问题到后盾网论坛问题求助专区。
求用php 随机函数生成一个长度为20的全是数字的字符串
$str = '0123456789';
for($i=0; $i20; $i++) {
$str .= $str{mt_rand(0, strlen($str))};
}
echo $str;
使用 PHP 函数编写程序,判断输入一个变量为全数字,字符串长度不允许超过 18 位,不允许为空?
php:
if(is_numeric($_POST['num'])) echo '全是数字';
else echo '不全是数字';
if(strlen($_POST['num']) ) echo '超过个字符';
else echo '没有超过个字符';
js:
if(parseInt(num) == num) alert('全是数字');
else alert('不全是数字');
if(num.length ) alert('超过个字符');
else alert('没有超过个字符');
用php语句将数据库中字符串(字母+数字)变成纯数字?
function Encode16T10($str){
preg_match_all("/\w/",$str,$date);
$date=$date['0'];
foreach($date as $key=$val){
switch($val){
case a:case A:
echo 10;
break;
case b:case B:
echo 11;
break;
case c:case C:
echo 12;
break;
case d:case D:
echo 13;
break;
case e:case E:
echo 14;
break;
case f:case F:
echo 15;
break;
default:
echo $val+10;
}
}
}
Encode16T10("a2c");//里面的a2c是你可以随便改的,只要是16进制数就行,看输出结果是否符合你的要求