php中字符串怎么用,一串数字字符串不使用int怎么转换为数字?
不用int()函数,可以用eval()函数来代替。
eval()是一个很强大的函数,许多编程语言比如JavaScript、PHP、Matlab等,都有这个函数。其具体用法如下:
eval(s)——s是一个字符串,eval(s)的作用就是把s字符串的引号去除掉,里面的内容如果是一段代码,或者表达式等,就可能变得能够执行了。
下面两个例子很容易让人理解到eval()函数的强大之处:
s = '1 + 1'
eval(s)
Out[2]: 2
code = '1 == 1.0'
eval(code)
Out[4]: True
PHP中英文混合排版中处理字符串常用的函数?
对一段文字按照字数进行分割,因为文字中可能是中英文混合的,而php函数strlen只能计算出字串的字节数,于是自己实现了几个函数,分享下。 例1,计算字符总长度。 01 <?php 02 function ccStrLen($str) #计算中英文混合<a href="/"target="_blank" class="infotextkey">字符串</a>的长度 03 { 04 $ccLen=0; 05 $ascLen=strlen($str); 06 $ind=0; 07 $hasCC=ereg(”[xA1-xFE]“,$str); #判断是否有汉字 08 $hasAsc=ereg(”[x01-xA0]“,$str); #判断是否有ASCII字符 09 if($hasCC && !$hasAsc) #只有汉字的情况 10 return strlen($str)/2; 11 if(!$hasCC && $hasAsc) #只有Ascii字符的情况 12 return strlen($str); 13 for($ind=0;$ind<$ascLen;$ind++) 14 { 15 if(ord(substr($str,$ind,1))>0xa0) 16 { 17 $ccLen++; 18 $ind++; 19 } 20 else 21 { 22 $ccLen++; 23 } 24 } 25 return $ccLen; 26 } 27 ?> 例2,从左侧截取字符串。 01 <?php 02 function ccStrLeft($str,$len) #从左边截取中英文混合字符串 03 { 04 $ascLen=strlen($str); if($ascLen<=$len) return $str; 05 $hasCC=ereg(”[xA1-xFE]“,$str); #同上 06 $hasAsc=ereg(”[x01-xA0]“,$str); 07 if(!$hasCC) return substr($str,0,$len); 08 if(!$hasAsc) 09 if($len & 0×01) #如果长度是奇数 10 return substr($str,0,$len+$len-2); 11 else 12 return substr($str,0,$len+$len); 13 $cind=0;$flag=0;$reallen=0;//实际取字节长 14 while($cind<$ascLen && $reallen<$len) 15 { //by
www.jbxue.com
16 if(ord(substr($str,$cind,1))<0xA1){ //如果该字节为英文 则加一 17 $cind++; 18 }else{//否则 加2个字节 19 $cind+=2; 20 } 21 $reallen++; 22 } 23 return substr($str,0,$cind); 24 } 25 ?> 例3,把给定文字,按切割数量存入数组(适合短篇文字,长文章可没分隔一部分就直接处理一次) view sourceprint? 01 <?php 02 function SplitContent($content,$smslen){ 03 $str_tmp=$content; 04 $arr_cont=array(); 05 $len_tmp=0; 06 $i=0;//分割绝对位置 07 while (strlen($str_tmp)>0){ 08 $str_tmp=ccStrLeft($str_tmp,$smslen); 09 array_push($arr_cont,$str_tmp); 10 $i+=strlen($str_tmp); 11 $str_tmp=substr($content,$i,strlen($content)); 12 } 13 return $arr_cont; 14 } //bywww.jbxue.com
15 ?> 测试: 1 <?php 2 $str=’a计算中英文混合1234字符串的长度abcd’; 3 echo $str.’的长度为:’.ccStrLen($str); 4 echo ‘<br>’; 5 $smslen=3;//截取长度 6 print_r(SplitContent($str,$smslen)); 7 ?>sql如何连接运算符?
连接运算符的使用方法: 1、在php里 等同于其他语言里字符串操作的+ 如echo "hello "."world";等同于echo "hello"+"world";同理.= 也同于 += 2、在c语言里 p = strjoin(buf, "^^", "string1", "string2", "string3", NULL); 可以连接n个字符串,结果在buf中。buf必须足够大。 3、在sql里 2、SQL SERVER 数据库连接符为+,例如连接字符串AB、CD可以使用“AB”+“CD” 3、在mysql里 MYSQL数据库中连接符用concat函数实现,例如连接字符串AB、CD可以使用concat('AB','CD') 4、在oracle里 oracle数据库中的连接符为||,例如连接字符串AB、CD可以使用“AB”||“CD
php用curl的post方法传递json包的时候?
假设POST的数据为:{"data":"abc"}
POST参数为:data
同样以PHP为例,接受并处理请求的相关代码如下:
1234567891011121314<?php extract($_POST); // 将数组中的key摊成变量,并导入key对应的值 if (!empty($data)){ $data = json_decode($data); // json 字符串解码成 json 数据 var_dump($data); // 打印 json 数据 // 输出结果 object(stdClass)[1] public 'data' => string 'abc' (length=3)}
如何去学习php加数据库?
不积跬步无以至千里,别想着急功近利就能学会,结果只会在开发中遇到问题都知道怎么解决。
学习php和mysql百度一下视频、电子书、开源项目,框架都很多了。随便找个教程坚持下去也能学会,但总得来说有以下学习过程吧。
1.学习php的基础知识,变量,字符串操作,数组操作,对象操作,文件操作,session和cookie操作,参数接收$_GET,$_POST,$_REQUEST,$_SERVER请求信息,数据库操作pdo,搞清楚客户端一个请求到服务器返回数据的过程等,就这些简单知识点你就可以搞简单网站一些接口了
2.当前面的都懂了,就可以学习高级点,如:异常处理,反射Reflection,GD库操作(生成验证码,图片水印旋转裁剪等图像操作),phar打包,socket通信,多进程pcntl和posix扩展对进程操作,进程间通信(共享内存sysvshm,shmop,消息队列sysvmsg,信号量sysvsem,信号,socket),如何实现mysql进程池,还有很重要的一个libevent,一个高性能事件通知网络库,很容易实现epoll异步非阻塞模型,可以实现高性能服务器
3.当上面的都了解了,就应该去了解php底层。了解phh底层sapi,zend引擎执行,如何生成opcache,zend虚拟机,gc机制等
而mysql的话首先了解sql语句增删改查,加上各种函数的sql怎么写,各种数据类型tinyint,smallint,int,bigint,float,varcar,char,datetime,time,timestamp,decimal等类型的区别长度等。
然后了解myisam,innodb引擎区别,innodb事务隔离级别之类,mysql索引优化,分库分表,mysql主从复制,mysql集群等。
然后仅仅懂php+mysql是不够的,基本上项目后台是自己搞,必须了解前端技术js+html+css,了解jquery、vue双向绑定等前端框架,也可以了解前端ui框架bootstrap,Element-ui等。还有项目一般部署在linux,起码要了解linux的基础命令,如:rm -rf /而网站发展起来了,你肯定要懂缓存memcache、redis,了解redis的各种类型string,hash,list,set,zset,HyperLogLog,geohash等,发布订阅,持久化AOF和RDB, 缓存穿透缓存雪崩等高并发时缓存可能出现的问题。然后项目再大点,就要懂LVS,HAProxy,nginx等负载均衡,然后redis要分布式部署,怎样通过keepalived+Twemproxy实现redis高可用,如何实现高性能,高可用,高并发,服务器多机房容灾,隔离,限流,降级等架构知识
好吧,说了一大堆,我也不是很懂...