PHP 数组转字符串,与字符串转数组
Posted 阿波罗任
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 数组转字符串,与字符串转数组相关的知识,希望对你有一定的参考价值。
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 ; } |
以上是关于PHP 数组转字符串,与字符串转数组的主要内容,如果未能解决你的问题,请参考以下文章