php中文首字母
❶ php怎么判定字符串首字母为中文
中文的判断与编码有关,如果ANSI编码,可以试试看下面的代码:
<?php
$s='中国';
if (ord($s)>128) echo '中文开头';
?>
你修改第一个赋值语句进行测试,看看能否满足你的要求。
❷ [php教程]如何用PHP实现取字符的首字母
<?php
functiongetfirstchar($s0){
$c=ereg('[a-zA-Z]',strtoupper(substr($s0,0,1)));
if($c){
returnstrtoupper(substr($s0,0,1));
}else{
if($fchar>=ord("a")and$fchar<=ord("Z"))returnstrtoupper($s0{0});
if(is_numeric(substr($s0,0,1))){
$s0=ToChinaseNum(substr($s0,0,1));
}
$s=$s0;
$asc=ord($s{0})*256+ord($s{1})-65536;
if($asc>=-20319and$asc<=-20284)return"A";
if($asc>=-20283and$asc<=-19776)return"B";
if($asc>=-19775and$asc<=-19219)return"C";
if($asc>=-19218and$asc<=-18711)return"D";
if($asc>=-18710and$asc<=-18527)return"E";
if($asc>=-18526and$asc<=-18240)return"F";
if($asc>=-18239and$asc<=-17923)return"G";
if($asc>=-17922and$asc<=-17418)return"H";
if($asc>=-17417and$asc<=-16475)return"J";
if($asc>=-16474and$asc<=-16213)return"K";
if($asc>=-16212and$asc<=-15641)return"L";
if($asc>=-15640and$asc<=-15166)return"M";
if($asc>=-15165and$asc<=-14923)return"N";
if($asc>=-14922and$asc<=-14915)return"O";
if($asc>=-14914and$asc<=-14631)return"P";
if($asc>=-14630and$asc<=-14150)return"Q";
if($asc>=-14149and$asc<=-14091)return"R";
if($asc>=-14090and$asc<=-13319)return"S";
if($asc>=-13318and$asc<=-12839)return"T";
if($asc>=-12838and$asc<=-12557)return"W";
if($asc>=-12556and$asc<=-11848)return"X";
if($asc>=-11847and$asc<=-11056)return"Y";
if($asc>=-11055and$asc<=-10247)return"Z";
returnnull;
}
}
functionToChinaseNum($num)
{
$char=array("零","一","二","三","四","五","六","七","八","九");
$dw=array("","十","百","千","万","亿","兆");
$retval="";
$proZero=false;
for($i=0;$i<strlen($num);$i++)
{
if($i>0)$temp=(int)(($num%pow(10,$i+1))/pow(10,$i));
else$temp=(int)($num%pow(10,1));
if($proZero==true&&$temp==0)continue;
if($temp==0)$proZero=true;
else$proZero=false;
if($proZero)
{
if($retval=="")continue;
$retval=$char[$temp].$retval;
}
else$retval=$char[$temp].$dw[$i].$retval;
}
if($retval=="一十")$retval="十";
return$retval;
}
var_mp(getfirstchar("89ssss"));
?>
❸ php中怎样获取汉字拼音的首字母
//汉字转拼音(生僻字不支持)
$pinyin=$this->utf8_to("我是中文");
//汉字转拼音(生僻字不支持)
function(){
echo$this->utf8_to("我是个好人");
}
/**
*以下是中文转拼音
*@param$s
*@parambool$isfirst
*@returnstring
*/
publicstaticfunctionutf8_to($s,$isfirst=false){
returnself::to(self::utf8_to_gb2312($s),$isfirst);
}
publicstaticfunctionutf8_to_gb2312($s){
returniconv('UTF-8','GB2312//IGNORE',$s);
}
//字符串必须为GB2312编码
publicstaticfunctionto($s,$isfirst=false){
$res='';
$len=strlen($s);
$pinyin_arr=self::get_pinyin_array();
for($i=0;$i<$len;$i++){
$ascii=ord($s{$i});
if($ascii>0x80){
$ascii2=ord($s{++$i});
$ascii=$ascii*256+$ascii2-65536;
}
if($ascii<255&&$ascii>0){
if(($ascii>=48&&$ascii<=57)||($ascii>=97&&$ascii<=122)){
$res.=$s{$i};//0-9a-z
}elseif($ascii>=65&&$ascii<=90){
$res.=strtolower($s{$i});//A-Z
}else{
$res.='_';
}
}elseif($ascii<-20319||$ascii>-10247){
$res.='_';
}else{
foreach($pinyin_arras$py=>$asc){
if($asc<=$ascii){
$res.=$isfirst?$py{0}:$py;
break;
}
}
}
}
return$res;
}
publicstaticfunctionto_first($s){
$ascii=ord($s{0});
if($ascii>0xE0){
$s=self::utf8_to_gb2312($s{0}.$s{1}.$s{2});
}elseif($ascii<0x80){
if($ascii>=65&&$ascii<=90){
returnstrtolower($s{0});
}elseif($ascii>=97&&$ascii<=122){
return$s{0};
}else{
returnfalse;
}
}
if(strlen($s)<2){
returnfalse;
}
$asc=ord($s{0})*256+ord($s{1})-65536;
if($asc>=-20319&&$asc<=-20284)return'a';
if($asc>=-20283&&$asc<=-19776)return'b';
if($asc>=-19775&&$asc<=-19219)return'c';
if($asc>=-19218&&$asc<=-18711)return'd';
if($asc>=-18710&&$asc<=-18527)return'e';
if($asc>=-18526&&$asc<=-18240)return'f';
if($asc>=-18239&&$asc<=-17923)return'g';
if($asc>=-17922&&$asc<=-17418)return'h';
if($asc>=-17417&&$asc<=-16475)return'j';
if($asc>=-16474&&$asc<=-16213)return'k';
if($asc>=-16212&&$asc<=-15641)return'l';
if($asc>=-15640&&$asc<=-15166)return'm';
if($asc>=-15165&&$asc<=-14923)return'n';
if($asc>=-14922&&$asc<=-14915)return'o';
if($asc>=-14914&&$asc<=-14631)return'p';
if($asc>=-14630&&$asc<=-14150)return'q';
if($asc>=-14149&&$asc<=-14091)return'r';
if($asc>=-14090&&$asc<=-13319)return's';
if($asc>=-13318&&$asc<=-12839)return't';
if($asc>=-12838&&$asc<=-12557)return'w';
if($asc>=-12556&&$asc<=-11848)return'x';
if($asc>=-11847&&$asc<=-11056)return'y';
if($asc>=-11055&&$asc<=-10247)return'z';
returnfalse;
}
publicstaticfunctionget_pinyin_array(){
static$py_arr;
if(isset($py_arr))return$py_arr;
$k='a|ai|an|ang|ao|ba||ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|cang|cao|ce|ceng|cha|chai|chan|chang|chao|che|chen|cheng|chi|chong|chou|chu|chuai|chuan|chuang|chui|chun|chuo|ci|cong|cou|cu|cuan|cui|cun|cuo|da|dai|dan|dang||de|deng|di|dian|diao|die|ding|diu|dong|dou||an|i|n|o|e|en|er|fa|fan|fang|fei|fen|feng|fo|fou|fu|ga|gai|gan|gang|gao|ge|gei|gen|geng|gong|gou|gu|gua|guai|guan|guang|gui|gun|guo|ha|hai|han|hang|hao|he|hei|hen|heng|hong|hou|hu|hua|huai|huan|huang|hui|hun|huo|ji|jia|jian|jiang|jiao|jie|jin|jing|jiong|jiu|ju|juan|jue|jun|ka|kai|kan|kang|kao|ke|ken|keng|kong|kou|ku|kua|kuai|kuan|kuang|kui|kun|kuo|la|lai|lan|lang|lao|le|lei|leng|li|lia|lian|liang|liao|lie|lin|ling|liu|long|lou|lu|lv|luan|lue|lun|luo|ma|mai|man|mang|mao|me|mei|men|meng|mi|mian|miao|mie|min|ming|miu|mo|mou|mu|na|nai|nan|nang|nao|ne|nei|nen|neng|ni|nian|niang|niao|nie|nin|ning|niu|nong|nu|nv|nuan|nue|nuo|o|ou|pa|pai|pan|pang|pao|pei|pen|peng|pi|pian|piao|pie|pin|ping|po|pu|qi|qia|qian|qiang|qiao|qie|qin|qing|qiong|qiu|qu|quan|que|qun|ran|rang|rao|re|ren|reng|ri|rong|rou|ru|ruan|rui|run|ruo|sa|sai|san|sang|sao|se|sen|seng|sha|shai|shan|shang|shao|she|shen|sheng|shi|shou|shu|shua|shuai|shuan|shuang|shui|shun|shuo|si|song|sou|su|suan|sui|sun|suo|ta|tai|tan|tang|tao|te|teng|ti|tian|tiao|tie|ting|tong|tou|tu|tuan|tui|tun|tuo|wa|wai|wan|wang|wei|wen|weng|wo|wu|xi|xia|xian|xiang|xiao|xie|xin|xing|xiong|xiu|xu|xuan|xue|xun|ya|yan|yang|yao|ye|yi|yin|ying|yo|yong|you|yu|yuan|yue|yun|za|zai|zan|zang|zao|ze|zei|zen|zeng|zha|zhai|zhan|zhang|zhao|zhe|zhen|zheng||zhong|zhou|zhu|zhua|zhuai|zhuan|zhuang|zhui|zhun|zhuo|zi|zong|zou|zu|zuan|zui|zun|zuo';
$v='-20319|-20317|-20304|-20295|-20292|-20283|-20265|-20257|-20242|-20230|-20051|-20036|-20032|-20026|-20002|-19990|-19986|-19982|-19976|-19805|-19784|-19775|-19774|-19763|-19756|-19751|-19746|-19741|-19739|-19728|-19725|-19715|-19540|-19531|-19525|-19515|-19500|-19484|-19479|-19467|-19289|-19288|-19281|-19275|-19270|-19263|-19261|-19249|-19243|-19242|-19238|-19235|-19227|-19224|-19218|-19212|-19038|-19023|-19018|-19006|-19003|-18996|-18977|-18961|-18952|-18783|-18774|-18773|-18763|-18756|-18741|-18735|-18731|-18722|-18710|-18697|-18696|-18526|-18518|-18501|-18490|-18478|-18463|-18448|-18447|-18446|-18239|-18237|-18231|-18220|-18211|-18201|-18184|-18183|-18181|-18012|-17997|-17988|-17970|-17964|-17961|-17950|-17947|-17931|-17928|-17922|-17759|-17752|-17733|-17730|-17721|-17703|-17701|-17697|-17692|-17683|-17676|-17496|-17487|-17482|-17468|-17454|-17433|-17427|-17417|-17202|-17185|-16983|-16970|-16942|-16915|-16733|-16708|-16706|-16689|-16664|-16657|-16647|-16474|-16470|-16465|-16459|-16452|-16448|-16433|-16429|-16427|-16423|-16419|-16412|-16407|-16403|-16401|-16393|-16220|-16216|-16212|-16205|-16202|-16187|-16180|-16171|-16169|-16158|-16155|-15959|-15958|-15944|-15933|-15920|-15915|-15903|-15889|-15878|-15707|-15701|-15681|-15667|-15661|-15659|-15652|-15640|-15631|-15625|-15454|-15448|-15436|-15435|-15419|-15416|-15408|-15394|-15385|-15377|-15375|-15369|-15363|-15362|-15183|-15180|-15165|-15158|-15153|-15150|-15149|-15144|-15143|-15141|-15140|-15139|-15128|-15121|-15119|-15117|-15110|-15109|-14941|-14937|-14933|-14930|-14929|-14928|-14926|-14922|-14921|-14914|-14908|-14902|-14894|-14889|-14882|-14873|-14871|-14857|-14678|-14674|-14670|-14668|-14663|-14654|-14645|-14630|-14594|-14429|-14407|-14399|-14384|-14379|-14368|-14355|-14353|-14345|-14170|-14159|-14151|-14149|-14145|-14140|-14137|-14135|-14125|-14123|-14122|-14112|-14109|-14099|-14097|-14094|-14092|-14090|-14087|-14083|-13917|-13914|-13910|-13907|-13906|-13905|-13896|-13894|-13878|-13870|-13859|-13847|-13831|-13658|-13611|-13601|-13406|-13404|-13400|-13398|-13395|-13391|-13387|-13383|-13367|-13359|-13356|-13343|-13340|-13329|-13326|-13318|-13147|-13138|-13120|-13107|-13096|-13095|-13091|-13076|-13068|-13063|-13060|-12888|-12875|-12871|-12860|-12858|-12852|-12849|-12838|-12831|-12829|-12812|-12802|-12607|-12597|-12594|-12585|-12556|-12359|-12346|-12320|-12300|-12120|-12099|-12089|-12074|-12067|-12058|-12039|-11867|-11861|-11847|-11831|-11798|-11781|-11604|-11589|-11536|-11358|-11340|-11339|-11324|-11303|-11097|-11077|-11067|-11055|-11052|-11045|-11041|-11038|-11024|-11020|-11019|-11018|-11014|-10838|-10832|-10815|-10800|-10790|-10780|-10764|-10587|-10544|-10533|-10519|-10331|-10329|-10328|-10322|-10315|-10309|-10307|-10296|-10281|-10274|-10270|-10262|-10260|-10256|-10254';
$key=explode('|',$k);
$val=explode('|',$v);
$py_arr=array_combine($key,$val);
arsort($py_arr);
return$py_arr;
}
❹ php 中文转拼音首字母问题
原始代码有些问题,我做了些更改,原地址github 的 chenall/chenall/blob/master/php/tools/ZH-cn_TO_pinyin.php
<?php
/*
中文汉字转拼音首字母的PHP简易实现方法.
要求:只能是GB2312码表里面中文字符
转换得到字符串对应的拼音首字母大写.
用法:
echozh2py::conv('Chinese中华人民共和国');//ChineseZHRMGHG
或
$py=newzh2py;
echo$py->conv('Chinese中华人民共和国');//ChineseZHRMGHG
*/
classzh2py
{
//根据汉字区位表
//我们可以看到从16-55区之间是按拼音字母排序的,所以我们只需要判断某个汉字的区位码就可以得知它的拼音首字母.
//区位表第一部份,按拼音字母排序的.
//16区-55区
/*
'A'=>0xB0A1,'B'=>0xB0C5,'C'=>0xB2C1,'D'=>0xB4EE,'E'=>0xB6EA,'F'=>0xB7A2,'G'=>0xB8C1,'H'=>0xB9FE,
'J'=>0xBBF7,'K'=>0xBFA6,'L'=>0xC0AC,'M'=>0xC2E8,'N'=>0xC4C3,'O'=>0xC5B6,'P'=>0xC5BE,'Q'=>0xC6DA,
'R'=>0xC8BB,'S'=>0xC8F6,'T'=>0xCBFA,'W'=>0xCDDA,'X'=>0xCEF4,'Y'=>0xD1B9,'Z'=>0xD4D1
*/
privatestatic$FirstTable=array(
0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,0xBFA6,0xC0AC,0xC2E8,
0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1,0xD7FA
);
privatestatic$FirstLetter="ABCDEFGHJKLMNOPQRSTWXYZ";
//区位表第二部份,不规则的,下面的字母是每个区里面对应字的拼音首字母.从网上查询整理出来的,可能会有部份错误.
//56区-87区
privatestatic$SecondTable=array(
"JWRDZLSYMRYPYWWCCKZNKYYG",
"KBPHFFSSTYBGMXLPBYLLBHLX",
"DZBXGZNZCPWHWXHQKMWFBPBY",
"TNMAYDDKSSNGYCSGXLYZAYPN",
"QYRBCJTHZTQFRXQHXMQJCJLY",
"JZSRMEBWHJLBJSLYYSMDXLCL",
"QGSZYQYAXBKYSECJSZNSLYZH",
"GMMCLGWZSZXZJFZNMLZZTHCS",
"SPRCHNWJNLHLYYQYYWZPTCZG",
"ZJQSQQAGMNYXPFRKSSBJLYXY",
"CWKCCSBNHCPDYZNFCYYTYCKX",
"DMGBWHWLGSLLYSDLMLXPTHMJ",
"TPMHYXLCHLHLZYLXGSSSSTCL",
"HTZKZJECXJCJNMFBYCSFYWYB",
"XHPLQKZCZWALSBCZJXSYZGWK",
"LDDPMJEGXYHYLXHLQYQHKYCW",
"QTTJHHHJLJAXFGFJZSLCFDQZ",
"LPDJBYREGKLZYZHLYSZQLZNW",
"FCJXDYGJQJJPMGWGJJJPKQSB",
"YFYZDJCNMWESCYGLBTZZGMSS",
"JHFSSXZQHFZMZCZTQCXZXRTT",
"BKZFFXMKDMDSYYSZCMLJDSYN",
"XTBNPDKLEYCJNYCDYKZTDHQH",
"LPCQDHZYCBZSCZBZMSLJFLKR",
"XJYYZLWCXSZFGWYYDLYHCLJS",
"LZCSHLTOLJNMDDDLNGKATHQH",
"PTQWLMCRNFKKFSYYLQBMQAMM",
"ZRQTBDKYXZKHHGFLBCSMDLDG",
"HYMZQQYDFQJJLZZNZJCDGZYG",
"PQCJPFCZLCLZXZDMXMPHJSGZ",
"GSHJQLZFKCGNNNSZFDEQFHBS",
"MQASLDCYXYQDLQCAFYWYXQHZ",
);
publicstaticfunctionutf8_to_gbk($string)//编码转换,必须转换成GB2312字符,这里只是简单的判断并不是很准确,可以自己写一个.
{
if(mb_check_encoding($string,'gb2312'))
return$string;
if(function_exists('iconv'))
returniconv("utf-8","gb2312//IGNORE",$string);
returnmb_convert_encoding($string,'gb2312','utf-8');
}
publicstaticfunctionconv($str)
{
$str=self::utf8_to_gbk($str);
$len=strlen($str);
$newStr='';
for($i=0;$i<$len;++$i)
{
$H=ord($str[$i]);
$L=ord($str[$i+1]);
//字符集非法
if($H<0xB0||$L<0xA1||$H>0xF7||$L==0xFF)
{
$newStr.=$str[$i];
continue;
}
if($H<0xD8)//($H>=0xB0&&$H<=0xD7)//查询文字在一级汉字区(16-55)
{
$W=($H<<8)|$L;
foreach(self::$FirstTableas$key=>$value)
{
if($W<$value)
{
$newStr.=self::$FirstLetter[$key];
break;
}
}
}
else//if(H>=0xD8&&H<=0xF7)//查询中文在二级汉字区(56-87)
$newStr.=self::$SecondTable[$H-0xD8][$L-0xA1];
++$i;
}
return$newStr;
}
}
echozh2py::conv('妃');//F
❺ PHP是什么
PHP是PHP的递归首字母缩写:Hypertext Preprocessor,一种用于创建动态和交互式HTML网页的脚本语言。当网站访问者打开页面时,服务器处理PHP命令,然后将结果发送到访问者的浏览器。
主要特点
①开源性和免费性
由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP运行环境的使用也是免费的。
②快捷性
PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。
③数据库连接的广泛性
PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。
④面向过程和面向对象并用
在PHP语言的使用中,可以分别使用面向过程和面向对象,而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言是做不到的。
(5)php中文首字母扩展阅读
PHP优点
①流行,容易上手
PHP是目前最流行的编程语言,这毋庸置疑。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。
②开发职位很多
在服务器端的网站编程中PHP会更容易帮助你找到工作。很多互联网相关企业都在使用PHP开发框架,所以可以说市场对PHP的开发程序员的需求还是比较大的。
③仍然在不断发展
PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用。
④可植入性强
PHP语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。
⑤拓展性强
PHP语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高
❻ php编程技术的发展历史
PHP原始为 Personal Home Page的缩写,现已经正式更名为 PHP: Hypertext Preprocessor的缩写。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。PHP于19
ISAPI筛选器94年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf 为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。后来又用C语言重新编写,包括可以访问数据库。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。
在1995年早期以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档。并且发布了PHP1.0!在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性。比如循环语句和数组变量等等;在新的成员加入开发行列之后,Rasmus Lerdorf 在1995年6月8日将 PHP/FI 公开发布,希望可以透过社群来加速程序开发与寻找错误。这个发布的版本命名为 PHP 2,已经有今日 PHP 的一些雏型,像是类似 Perl 的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。PHP/FI加入了对MySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI。
在1997年,任职于 Technion IIT 公司的两个以色列程序设计师:Zeev Suraski 和 Andi Gutmans,重写了 PHP 的剖析器,成为 PHP 3 的基础。而 PHP 也在这个时候改称为PHP:Hypertext Preprocessor.[5]。经过几个月测试,开发团队在1997年11月发布了 PHP/FI 2。随后就开始 PHP 3 的开放测试,最后在1998年6月正式发布 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 发布后开始改写PHP 的核心,这个在1999年发布的剖析器称为 Zend Engine[7],他们也在以色列的 Ramat Gan 成立了 Zend Technologies 来管理 PHP 的开发。
在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式发布,2004年7月13日则发布了PHP 5,PHP 5则使用了第二代的Zend Engine[5]。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个存取数据库的延伸函数库)、以及许多效能上的增强。至2013年PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。
2008年PHP 5成为了PHP唯一的有在开发的PHP版本。将来的PHP 5.3将会加入Late static binding和一些其他的功能强化。PHP 6 的开发也正在进行中,主要的改进有移除register_globals、magic quotes 和 Safe mode的功能。
PHP最新稳定版本:5.3.21(2013.1.17)
PHP最新发布版本:5.4.11(2013.1.17)
❼ Linux里面LAMP是什么
LAMP是Linux,Apache,MySQL和PHP的首字母缩写,一个开源Web开发途径,运用Linux作为操作系统,Apache作为Web效劳器,MySQL作为RDBMS(联络数据库办理系统),PHP作为面向对象的脚本言语(有时运用运用Perl或Python替代PHP)