❶ php字符串截取看似比较麻烦的问题
<?php
$str = 'aaa,bbb,ccc,ddd,eee,fff';
$arrayList = explode(",",$str);
$arrayList = array_reverse($arrayList);//将数组反序
if(isset($arrayList[0])) $arrout[] = $arrayList[0];
if(isset($arrayList[1])) $arrout[] = $arrayList[1];
$arrout = array_reverse($arrout);//将数组反序
echo implode(',',$arrout);
?>
❷ php纠错,大家快来帮帮忙!
$file = str_replace (array( '{title}','{hello}','{myname}'), array( $title, $hello, $myname), $file ); 这段程序中第一个逗号被写成了全角。
编程是一件很考验细心的工作,加强这方面的煅练吧。
❸ php如何判断是字符串全角还是半角
第一步:新建程序
使用Dreamweaver或记事本新建一个PHP程序,这是所有开发必须经过的开始,然后输入测试段代码(Hello World!),并运行。
第二步:输入英文分号并运行
为了便于后面的比较,在编辑器新增一个<div>标签并做对齐,输入文字:我是英文PHP的分号(;),并在浏览器中运行
第三步:对比输入中文分号再运行
接着输入一段文字,我是中文PHP的分号(;),在浏览器中运行,并作比较,中文分号比英文分号更大更宽
第四步:输入英文半角并运行
在编辑器中新增一个<div>标签,输入文字:我是PHP的半角写法:php,并运行,并记录
第五步:全半角及中英文切换
很多非专业的人不会切换全半角,切换全半角方式为Shift+Space键盘,也可以点击输入法切换
第六步:输入英文全角再运行
同理,在编辑器中输入文字:我是PHP全角写法:php,并运行,比较全半角的区别(注:全角只在英文小写字母才有作用),全角字符宽度明显大于半角。
第七步:对比全角和半角
全角字符占位大于半角。
第八步:对比中文和英文
英文符号再大小以及占位宽度比中文符号小
❹ PHP里要将一段数据里中文间的逗号换成全角的,应该如何做
function 一个方法。
例如
$str 要转换的字符串
function phpstrtr ($str){
$tr=array(
','=>',');
return strtr($str, $tr);
}
❺ php 正则替换 全、半角空格和全角逗号替换为半角逗号
/,|\s/ig 这个是正则,正则只是做查找功能而已,没替换,你替换要用你自己的语言替换。例如:你的是java,str.replaceAll(",|\\s",",");
❻ php中 逗号, 和句号. 有什么区别
逗号只有在echo后面才有这个效果,echo语句的多个参数用逗号分开,和一个函数的多个参数一样。
原点是字符串连接,不能使用逗号替代。
❼ php 把多个不连续空格替换成逗号 如何保留第一个
<?php
function emptyreplace($str) {
$str = str_replace('', ' ', $str); //替换全角空格为半角
$str = str_replace(' ', ' ', $str); //替换连续的空格为一个
$noe = false; //是否遇到不是空格的字符
for ($i=0 ; $i<strlen($str); $i++) { //遍历整个字符串
if($noe && $str[$i]==' ') $str[$i] = ','; //如果当前这个空格之前出现了不是空格的字符
elseif($str[$i]!=' ') $noe=true; //当前这个字符不是空格,定义下 $noe 变量
}
return $str;
}
echo emptyreplace(' 网络知道 http://hi..com');
?>
❽ php正则表达式问题
/后边的是修正符
其中i是不区分大小写
修正符很有用的
例子:
<?php
//标记在整个模式之外;
例://$mode="/\bis\b/U",其中U在外面;
//修正符:i 不区分大小写的匹配;
//如:"/abc/i"可以与abc或aBC或ABc等匹配;
//修正符:m 将字符串视为多行,不管是那行都能匹配;
例://模式为:$mode="/abc/m";
//要匹配的字符串为:$str="bcefg5e\nabcdfe"
//注意其中\n,换行了;abc换到了下一行;
//$str和$mode仍可以匹配,修正符m使得多行也可匹配;
//修正符:s 将字符串视为单行,换行符作为普通字符;
例://模式为:$mode="/pr.y/";
//要匹配字符串为:$str="pr\ny";
//两者不可匹配; . 是除了换行以外的字符可匹配;
//修改下模式为:$mode="/pr.y/s";
//其中修正符s将\n视为普通字符,即不是换行;
//最后两者可以匹配;
//修正符:x 将模式中的空白忽略;
//修正符:A 强制从目标字符串开头匹配;
例://$mode="/abc/A";
//可以与$str="abcsdfi"匹配,
//不可以与$str2="sdsdabc"匹配;
//因为$str2不是以abc开头;
//修正符:D 如果使用$限制结尾字符,则不允许结尾有换行;
例://模式为:$mode="/abc$/";
//可以与最后有换行的$str="adshabc\n"匹配;
//元子符$会忽略最后的换行\n;
//如果模式为:$mode="/abc/D",
//则不能与$str="adshabc\n"匹配,
//修正符D限制其不可有换行;必需以abc结尾;
//修正符:U 只匹配最近的一个字符串;不重复匹配;
例:
如模式为:
$mode="/a.*c/";
$str="abcabbbcabbbbbc" ;
preg_match($mode,$str,$content);
echo $content[0]; //输出:abcabbbcabbbbbc;
//如果$mode="/a.*c/";变成$mode="/a.*c/U";
// 则只匹配最近一个字符串,输出:abc;
//修正符:e 配合函数preg_replace()使用,
可以把匹配来的字符串当作正则表达式执行;
?>
❾ PHP 如何取出一段字符串里的全角符号 详细如下
取出一段字符串里的全角符号.干嘛?
可以过滤之前取得啊,然后在处理嘛
说详细点儿。
❿ php关于逗号与点的区别
我们都知道.echo中是可以用逗号来连接字符串的.并且经过测试.这样的连接字符串方式要比直接用点号要快.
比如:
echo
'abc'.'def';
//用点号连接字符串
echo
'abc','def';
//用逗号连接字符串
也许很多人都知道逗号要比点号快.但是不知道为什么.更不知道这两者到底有什么区别.
那么下面我们就举一些例子.来认清楚他们之前的区别.
echo
'1+5='
.
1+5;
看看上面的.输出的结果是6..而不是1+5=6.有些神奇吧?
更神奇的是你看下面的例子.
echo
'1+5='
.
5+1;
//输出2结果十分奇怪.我们看到.我们把5和1换下位置.结果就变成2了.
为什么会这样.难道在PHP中加法是没有交换律的?当然不是..
我们先不去想为什么.如果我把上面的点号换成逗号试下.
echo
'1+5='
,
5+1;
//输出
1+5=6
echo
'1+5='
,
1+5;
//输出
1+5=6
可以看出.只有使用逗号我们才可以得到意料中的结果.
那为什么点号就不行呢?逗号为什么就行呢?
echo
('1+5'
.
5)+1;
//输出2
我们给前面的加个括号后.得到的结果是一样的.
证明PHP是先连接字符串再进行加法计算了.按照从左向右的方向进行的.
那么好.既然是先连接的字符串.那么就应该是"1+55"了.然后再用这个字符串加上1.那为什么就会输出2呢?
这个跟PHP中字符串变成数字的机制是相关的.我们来看下面的例子
echo
(int)'abc1';
//输出0
echo
(int)'1abc';
//输出1
echo
(int)'2abc';
//输出2
echo
(int)'22abc';
//输出22
从上面的例子我们可以看出.如果将一个字符串强制转换成一个数字.PHP会去搜索这个字符串的开头.如果开头是数字就转换.如果不是就直接返回0.
回到刚才的1+55.既然这个字符串是1+55.所以强制类型转换后就应该是1了.在此基础上加1.当然是2了.
为了证明我们的猜想.我们来验证一下.
echo
'5+1='
.
1+5;
//输出10
echo
'5+1='
.
5+1;
//输出6
echo
'1+5='
.
1+5;
//输出6
echo
'1+5='
.
5+1;
//输出2
结果证明.我们的设想是正确的.
那么为什么使用逗号就没有上面的问题了呢?
手册上说了.用逗号是multiple
parameters
.
也就是说是多参数.换句话说.
逗号分隔开的就相当于是N个参数.也就是说把echo当个函数用.
这样的话.echo会对每个参数先进行计算.最后再进行连接后输出.所以我们用逗号就不存在上面的问题了:)