本文目录一览:
- 1、php 数组与字符串比较问题
- 2、请问PHP如何比对两组字符串,其中包含大小字母、中英文
- 3、PHP中,关于把字符串拆分成数组的几个函数比较
- 4、php数组与字符串比较问题
- 5、thinkphp数组比较大小
php 数组与字符串比较问题
?php
$str = "平行四边形是四边形";
//先替换'四边形'
//替换之后,平行四边形就会变成: 平行span四边形/span
//所以再替换: 平行span四边形 为: 'span平行四边形'
$arr = array('四边形','平行span四边形','是');
$to=array('span四边形/span','span平行四边形','span是/span');
for($i=0;$icount($arr);$i++)
{
$str=str_replace($arr[$i],$to[$i],$str);
}
echo $str;
?
请问PHP如何比对两组字符串,其中包含大小字母、中英文
$a = 'a:Marc-André GronDin';
$b = 'b:Marc-André Grondin,莫妮亚·肖克里,Charlotte St-Martin';
$arrA = explode(':', implode(':', explode(',', $a)));
$arrB = explode(':', implode(':', explode(',', $b)));
var_dump(array_intersect($arrA, $arrB)); // 区分大小写
$e = array_map(function($d){
return strtolower($d);
} , $arrA);
$arrC = array_map(function($c) use ($e){
if ( in_array(strtolower($c), $e) ) {
return $c;
}
}, $arrB);
var_dump( array_filter(array_unique($arrC)) ); // 不区分大小写,单独的 array_intersect 无法实现不区分大小写
PHP中,关于把字符串拆分成数组的几个函数比较
?php
$str="1|2|3|4|5|";
$var=explode("|",$str);
print_r($var);
?
$var=explode("|",$str);
把$str按|进行分割
php还有其他的把字符串指定字符分割成数组
str_split(string,length)参数 描述
string 必需。规定要分割的字符串。
length 可选。规定每个数组元素的长度。默认是 1。
json_decode()这个函数也可以把字符串分割成数组 (第二个参数为true才行)
php数组与字符串比较问题
按你的要求是不是该先对数组内的元素做个比较,排序,被包含的元素最后做匹配。
如例子中,“四边形”被包含在“平行四边形”里面,匹配操作时,先匹配“平行四边形”,后匹配“四边形”。我们先对字符串先匹配“平行四边形”,并作标记,某位置开始,到某位置为止,记住,匹配另一关键字时来到这里,可以不做匹配操作了。-php字符串数组比较大小
想是这样想。
用yiicode的方法的话,你可以先排序,按上面的说法,把关键字排一下。
你设计些特殊的符号,分别对于关键字1,关键字2,关键字3,如:平行四边形对应"[1]",是对应"[2]",四边形对应“[3]”,设计的对应代码不要有包含关系,[1]与[11]是两个不一样东西,str_replace时不会出现问题。-php字符串数组比较大小
第一步,把目标字符串替换成:[1]是四边形
第二步,把第一步的字符串替换成:[1][2]四边形
第三步,那第二步处理后的的字符串替换关键字“四边形”,此时不会出现你所担心的问题咯,你提出的“注意”的第一条。第三步处理后的是:[1][2][3]
第四步,此时,因为我们自己设定的对应关系,所以我可以在将第三步[1]出现的地方全替换成"span平行四边形/span",
得:span平行四边形/span[2][3]
第五步,将第四步[2]出现的地方全替换成"span是/span",
得:span平行四边形/spanspan是/span[3]
第六步,将第五步的的字符串,[3]换成"span四边形/span",
得:span平行四边形/spanspan是/spanspan四边形/span
(完)
thinkphp数组比较大小
foreach($arr as $v){
if($v 1) echo $v.'比1大';
}
这样的意思吗