VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • PHP数组与字符串互相转换实例

在本篇文章里小编给大家分享的是关于PHP数组与字符串互相转换实例内容,有需要的朋友们可以学习下。

PHP 数组转字符串,与字符串转数组

  1. <?php 
  2.    
  3. $array = array('lastname''email''phone'); 
  4. $comma_separated = implode(","$array); 
  5.    
  6. echo $comma_separated// lastname,email,phone 
  7.    
  8. // Empty string when using an empty array: 
  9. var_dump(implode('hello'array())); // string(0) "" 
  10.    
  11. ?> 

explode — 使用一个字符串分割另一个字符串,返回一个数组

  1. <?php 
  2.    
  3. $array = array('lastname''email''phone'); 
  4. $comma_separated = implode(","$array); 
  5.    
  6. echo $comma_separated// lastname,email,phone 
  7.    
  8. // Empty string when using an empty array: 
  9. var_dump(implode('hello'array())); // string(0) "" 
  10.    
  11. ?> 

这里如果字符串没有任何符号可以进行分割的话,就需要考虑别的方法了

str_split — 将字符串转换为数组

  1. <?php 
  2.    
  3. $str = "Hello Friend"
  4.    
  5. $arr1 = str_split($str); 
  6. $arr2 = str_split($str, 3); 
  7.    
  8. print_r($arr1); 
  9. print_r($arr2); 
  10.    
  11. ?> 

输出结果

  1. Array 
  2.   [0] => H 
  3.   [1] => e 
  4.   [2] => l 
  5.   [3] => l 
  6.   [4] => o 
  7.   [5] => 
  8.   [6] => F 
  9.   [7] => r 
  10.   [8] => i 
  11.   [9] => e 
  12.   [10] => n 
  13.   [11] => d 
  14.    
  15. Array 
  16.   [0] => Hel 
  17.   [1] => lo 
  18.   [2] => Fri 
  19.   [3] => end 

如果不兼容的话,就只有考虑别的方法了,将字符串逐位进行打断,这里有一个将字符串进行打断的手动的方法,是原来为了写日语半角的假名验证的一个方法

这里是一串对半角的假名的枚举

  1. function kana_Perl($katakana){ 
  2.   $katakana_array = array
  3.     1=>"ア",2=>"イ",3=>"ウ",4=>"エ",5=>"オ"
  4.     6=>"カ",7=>"キ",8=>"ク",9=>"ケ",10=>"コ"
  5.     11=>"サ",12=>"シ",13=>"ス",14=>"セ",15=>"ソ"
  6.     16=>"タ",17=>"チ",18=>"ツ",19=>"テ",20=>"ト"
  7.     21=>"ナ",22=>"ニ",23=>"ヌ",24=>"ネ",25=>"ノ"
  8.     26=>"ハ",27=>"ヒ",28=>"フ",29=>"ヘ",30=>"ホ"
  9.     31=>"マ",32=>"ミ",33=>"ム",34=>"メ",35=>"モ"
  10.     36=>"ヤ",37=>"ユ",38=>"ヨ"
  11.     39=>"ラ",40=>"リ",41=>"ル",42=>"レ",43=>"ロ"
  12.     44=>"ワ",45=>"ヲ",46=>"ン"
  13.     47=>"ァ",48=>"ィ",49=>"ゥ",50=>"ェ",51=>"ォ"
  14.     52=>"ャ",53=>"ュ",54=>"ョ",55=>"ッ",56=>"、"
  15.     57=>"。",58=>"ー",59=>"゙",60=>"゚" 
  16.     ); 
  17.      $check_result  = array_search($katakana,$katakana_array); 
  18.      return $check_result
  19.   } 

这是一段匹配的法则,注意这里是i +=2,因为一个文字占2位

  1. function substr_cut($katakana){ 
  2.   $i_end = 2; 
  3.   $check_sucess = ""
  4.   for($i_start=0; $i_start < strlen($katakana); $i_start=$i_start+2){ 
  5.        
  6.     $str_cut = substr($katakana,$i_start,$i_end); 
  7.     echo '$str_cut='.$str_cut.'<br>'
  8.     $check_sucess = kana_Perl($str_cut); 
  9.     if(!$check_sucess){ 
  10.       break
  11.     } 
  12.        
  13.    
  14.   } 
  15.   return $check_sucess

没有规律的数组转化为字符串

  1. function substr_cut($katakana){ 
  2.   $i_end = 1; //打断位数长度,分清楚英文和中文 
  3.   $check_sucess = array(); 
  4.   for($i_start=0; $i_start < strlen($katakana); $i_start=$i_start+1){     
  5.     $str_cut = substr($katakana,$i_start,$i_end); 
  6.     $check_sucess[$i_start] = $str_cut
  7.     echo '$str_cut='.$str_cut.'<br>'
  8.   } 
  9.   return $check_sucess

内容扩展:

使用和理解这两个函数的关键之处是分隔符(separator)和胶合符(glue)关系。当把一个数组转换成一个字符串时,将会设置胶合符——将被插入到生成字符串中的数组值之间的字符或代码。

相反,当把字符串转换成数组时,要指定分隔符,它用于标记什么应该变成独立数组元素,例如,以字符串开始:

$s1='Mon-Tue-Wed-Thu-Fri';

$days_array=explode('-',$s1);

$days_array 变量现在是一个有5个元素的数组,其元素 Mon 的索引为0,Tue 的索引为1,等等。

$s2=implode(',',$days_array);

$s2

变量现在是一个用逗号分隔的一个星期中各天的列表:Mon,Tue,Wed,Thu,Fri

出处:http://www.phpfensi.com/php/20220305/20061.html


相关教程