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 ;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值