数组转字符串:
implode('!', $arr);//将一维数组以!分隔组合成一个字符串,参数一可以为""
explode('!', $str);//将字符串以!分割为一个一维数组,参数一不可以为""
implode('!', $arr);//将一维数组以!分隔组合成一个字符串,参数一可以为""
explode('!', $str);//将字符串以!分割为一个一维数组,参数一不可以为""
str_split($str, 3);//将字符串分割成数组,参数二将字符串从左向右每3个字符分割一次,最后的不够3个了 有几个算几个。
1
|
implode 使用一个字符串将数组变成字符串
|
1
2
3
4
5
6
7
8
9
10
11
|
<br><?php
$array
=
array
(
'lastname'
,
'email'
,
'phone'
);
$comma_separated
= implode(
","
,
$array
);
echo
$comma_separated
;
// lastname,email,phone
// Empty string when using an empty array:
var_dump(implode(
'hello'
,
array
()));
// string(0) ""
?>
|
explode — 使用一个字符串分割另一个字符串,返回一个数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?php
// 示例 1
$pizza
=
"piece1 piece2 piece3 piece4 piece5 piece6"
;
$pieces
=
explode
(
" "
,
$pizza
);
echo
$pieces
[0];
// piece1
echo
$pieces
[1];
// piece2
// 示例 2
$data
=
"foo:*:1023:1000::/home/foo:/bin/sh"
;
list(
$user
,
$pass
,
$uid
,
$gid
,
$gecos
,
$home
,
$shell
) =
explode
(
":"
,
$data
);
echo
$user
;
// foo
echo
$pass
;
// *
?>
|
这里如果字符串没有任何符号可以进行分割的话,就需要考虑别的方法了
str_split — 将字符串转换为数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<?php
$str =
"Hello Friend"
;
$arr1 = str_split($str);
$arr2 = str_split($str,
3
);
print_r($arr1);
print_r($arr2);
?>
输出结果
Array
(
[
0
] => H
[
1
] => e
[
2
] => l
[
3
] => l
[
4
] => o
[
5
] =>
[
6
] => F
[
7
] => r
[
8
] => i
[
9
] => e
[
10
] => n
[
11
] => d
)
Array
(
[
0
] => Hel
[
1
] => lo
[
2
] => Fri
[
3
] => end
)
|
如果不兼容的话,就只有考虑别的方法了,将字符串逐位进行打断,
这里有一个将字符串进行打断的手动的方法,是原来为了写日语半角的假名验证的一个方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
这里是一串对半角的假名的枚举
function
kana_Perl(
$katakana
){
$katakana_array
=
array
(
1=>
"ア"
,2=>
"イ"
,3=>
"ウ"
,4=>
"エ"
,5=>
"オ"
,
6=>
"カ"
,7=>
"キ"
,8=>
"ク"
,9=>
"ケ"
,10=>
"コ"
,
11=>
"サ"
,12=>
"シ"
,13=>
"ス"
,14=>
"セ"
,15=>
"ソ"
,
16=>
"タ"
,17=>
"チ"
,18=>
"ツ"
,19=>
"テ"
,20=>
"ト"
,
21=>
"ナ"
,22=>
"ニ"
,23=>
"ヌ"
,24=>
"ネ"
,25=>
"ノ"
,
26=>
"ハ"
,27=>
"ヒ"
,28=>
"フ"
,29=>
"ヘ"
,30=>
"ホ"
,
31=>
"マ"
,32=>
"ミ"
,33=>
"ム"
,34=>
"メ"
,35=>
"モ"
,
36=>
"ヤ"
,37=>
"ユ"
,38=>
"ヨ"
,
39=>
"ラ"
,40=>
"リ"
,41=>
"ル"
,42=>
"レ"
,43=>
"ロ"
,
44=>
"ワ"
,45=>
"ヲ"
,46=>
"ン"
,
47=>
"ァ"
,48=>
"ィ"
,49=>
"ゥ"
,50=>
"ェ"
,51=>
"ォ"
,
52=>
"ャ"
,53=>
"ュ"
,54=>
"ョ"
,55=>
"ッ"
,56=>
"、"
,
57=>
"。"
,58=>
"ー"
,59=>
"゙"
,60=>
"゚"
);
$check_result
=
array_search
(
$katakana
,
$katakana_array
);
return
$check_result
;
}
这是一段匹配的法则,注意这里是i +=2,因为一个文字占2位
function
substr_cut(
$katakana
){
$i_end
= 2;
$check_sucess
=
""
;
for
(
$i_start
=0;
$i_start
<
strlen
(
$katakana
);
$i_start
=
$i_start
+2){
$str_cut
=
substr
(
$katakana
,
$i_start
,
$i_end
);
echo
'$str_cut='
.
$str_cut
.
'<br>'
;
$check_sucess
= kana_Perl(
$str_cut
);
if
(!
$check_sucess
){
break
;
}
}
return
$check_sucess
;
}
|
没有规律的数组转化为字符串
1
2
3
4
5
6
7
8
9
10
|
function
substr_cut(
$katakana
){
$i_end
= 1;
//打断位数长度,分清楚英文和中文
$check_sucess
=
array
();
for
(
$i_start
=0;
$i_start
<
strlen
(
$katakana
);
$i_start
=
$i_start
+1){
$str_cut
=
substr
(
$katakana
,
$i_start
,
$i_end
);
$check_sucess
[
$i_start
] =
$str_cut
;
echo
'$str_cut='
.
$str_cut
.
'<br>'
;
}
return
$check_sucess
;
}
|