判断数组值在字符串中出现的顺序
程序员文章站
2022-05-01 23:26:02
...
求一个判断数组值在字符串中出现的顺序
数组
$arr=array('A','M','N');
字符串不定,但是M和N在字符串中只能出现一次,如果出现多次则返回false
符合要求则返回数组$data['M'],$data['N']
比如:
A MAN 返回 2,4 //M为数组中第2个出现,N为数组中第4个出现 (A出现在1和3)
A BOY 返回 false //不含M或者N
MAN 返回1,3 //M为数组中第1个出现,N为数组中第3个出现 (A出现在2)
A ATM IN 返回 3,5 //M为数组中第3个出现,N为数组中第4个出现 (A出现在1和2)
------解决思路----------------------
本来一个简单的问题,被你已解释变得复杂了
开看这段代码的结果就知道该怎么做了
------解决思路----------------------
$arr = array('A','M','N');
$str = 'AMN';
$data = array();
foreach($arr as $v){
if(substr_count($str,$v) == 1){
$data[$v] = strpos($str,$v);
}
}
var_dump($data);
数组
$arr=array('A','M','N');
字符串不定,但是M和N在字符串中只能出现一次,如果出现多次则返回false
符合要求则返回数组$data['M'],$data['N']
比如:
A MAN 返回 2,4 //M为数组中第2个出现,N为数组中第4个出现 (A出现在1和3)
A BOY 返回 false //不含M或者N
MAN 返回1,3 //M为数组中第1个出现,N为数组中第3个出现 (A出现在2)
A ATM IN 返回 3,5 //M为数组中第3个出现,N为数组中第4个出现 (A出现在1和2)
------解决思路----------------------
本来一个简单的问题,被你已解释变得复杂了
开看这段代码的结果就知道该怎么做了
$arr = array('A','M','N');
$data = array(
'A MAN',
'A BOY',
'MAN',
'A ATM IN'
);
foreach($data as $text) {
$t = str_split($text);
$r[] = array_intersect($t, $arr);
}
print_r($r);
Array
(
[0] => Array
(
[0] => A
[2] => M
[3] => A
[4] => N
)
[1] => Array
(
[0] => A
)
[2] => Array
(
[0] => M
[1] => A
[2] => N
)
[3] => Array
(
[0] => A
[2] => A
[4] => M
[7] => N
)
)
------解决思路----------------------
$arr = array('A','M','N');
$str = 'AMN';
$data = array();
foreach($arr as $v){
if(substr_count($str,$v) == 1){
$data[$v] = strpos($str,$v);
}
}
var_dump($data);
相关文章
相关视频
上一篇: 爆囧,那是相当的人才呀!
推荐阅读
-
php下判断数组中是否存在相同的值array_unique
-
Python判断值是否在list或set中的性能对比分析
-
在字符串中找出第一个只出现一次的字符。经典C语言例题
-
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
-
jQuery简单判断值是否存在于数组中的方法示例
-
快速判断某个值是否在select中的方法
-
c# json转换成dynamic对象,然后在dynamic对象中动态获取指定字符串列表中的值
-
JS简单判断字符在另一个字符串中出现次数的2种常用方法
-
在一个非降序排列的数组中,找出数字target出现的次数问题解答
-
c语言将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1.要求改为1,4,5,6,8.