PHP 数组转字符串,与字符串转数组
implode 使用一个字符串将数组变成字符串
<?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 — 使用一个字符串分割另一个字符串,返回一个数组
<?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 — 将字符串转换为数组
<?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
)
如果不兼容的话,就只有考虑别的方法了,将字符串逐位进行打断,
这里有一个将字符串进行打断的手动的方法,是原来为了写日语半角的假名验证的一个方法
这里是一串对半角的假名的枚举
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;
}
没有规律的数组转化为字符串
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 数组转字符串,与字符串转数组的更多相关文章
- 使用NSJSONSerialization将数组或字典转为字符串
IOS中将数组或字典转为字符串可以用NSJSONSerialization,代码如下: NSData* data = [NSJSONSerialization dataWithJSONObject:a ...
- JS数组转成json字符串的注意事项
在js中常常会将一个数组转成json字符串发送给后端. 这时候在定义数组数据结构的时候需要格外注意,意味json中是有集合和对象的区别的. 集合的定义是[];对象的的定义是{}. 这时候,在创建数组时 ...
- PHP implode() 函数 把数组元素组合为字符串
http://www.w3school.com.cn/php/func_string_implode.asp PHP implode() 函数 PHP String 函数 实例 把数组元素组合为字符串 ...
- C#中如何排除/过滤/清空/删除掉字符串数组中的空字符串
C#中要如何才能删除一个字符串数组中的空字符串呢?随着微软对C#不断发展和更新,C#中对于数组操作的方式也变得越来越多样化.以往要实现过滤数组中的空字符串,都是需要实行循环的方式来排除和过滤.C#3. ...
- JSon_零基础_007_将JSon格式的"数组"字符串转换为Java对象"数组"
将JSon格式的"数组"字符串转换为Java对象"数组". 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“n ...
- JSon_零基础_001_将布尔类型数组转换为JSon格式字符串,返回给界面
将布尔类型数组转换为JSon格式字符串,返回给界面 需要导入包: 编写bean: package com.west.webcourse.po; /** * 第01步:编写bean类, * 下一步com ...
- C语言中的数组和指针以及字符串
数组名同时也是该数组首元素的地址,而指针提供了一种用来使用地址的符号方法,因此指针能够很有效地处理数组. 将一个整数加给指针,这个整数会和指针所指类型的字节数相乘,然后所得的结果会加到初始地址上 da ...
- Java将一段逗号分割的字符串转换成一个数组
String 类:String 类代表字符串.Java 程序中的所有字符串字面值都作为此类的实例实现.字符串是常量,它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因为 String 对象是 ...
- 固定分隔符字符串与数组互转及ArrayList与数组(Array)互转
1.字符串转数组 这个相信多数人都会常用,string.split方法,分隔符可以为多个.详细信息参见MSDN string[] actionCfgs = _para.Split(new char[] ...
- 十六进制字符串转化为byte数组
工作上有这样的需求之前找了好多都不行,好不容易有个可以的赶紧留下来. 原址:http://blog.163.com/roadwalker@126/blog/static/113561841201013 ...
随机推荐
- 例说C#深拷贝与浅拷贝
一开始,先对C#深拷贝与浅拷贝知识做个简单的总结. 无论是浅拷贝与深拷贝,C#都将源对象中的所有字段复制到新的对象中.不过,对于值类型字段,引用类型字段以及字符串类型字段的处理,两种拷贝方式存在一定的 ...
- JMS的作用
JMS就是生产者与消费者模式.消费者负责消费生产者产生的消息.通过JMS可以做后台的异步操作,应用到具体工作中的话,有用它来发内部消息的.发邮件的.发短信的,做大操作时在后台做异步操作的. Java ...
- 动态规划(DP计数):HDU 5117 Fluorescent
Matt, a famous adventurer who once defeated a pack of dire wolves alone, found a lost court. Matt fi ...
- CMD删除Mysql 服务
用sc.exe这个命令可以删除Windows系统服务 开始 —> 运行 —> cmd.exe,然后输入sc就可以看到了. 使用办法很简单: sc delete "服务名" ...
- devi into python 笔记(六)正则表达式 原始字符串
字符串函数replace: #string.replace: #字符串的replace方法:替换子串,不改变原来的字符串 s = "broad road" #打印出来会发现不单单是 ...
- JavaScript---网络编程(11)--DHTML技术演示(4)-单选框/下拉菜单/添加文件
本节讲述单选框/下拉菜单/添加文件,综合css,html和JavaScript. 单选框: 实现的功能是:(类似平时的性格测试) 先隐藏一部分页面,然后通过点击单选框来显示. 再通过选项的选择-(每个 ...
- CodeForces 573A Bear and Poker
题目链接:http://codeforces.com/problemset/problem/573/A 题目大意:此题要求一组数中的元素乘以2或者乘以3后得到的数都一样,其实就是判断这些数除去2和3这 ...
- ajax_demo:GET POST发送数据
GET,通过url发送数据 <%@ page language="java" contentType="text/html; charset=UTF-8" ...
- Project Euler 9
题意:三个正整数a + b + c = 1000,a*a + b*b = c*c.求a*b*c. 解法:可以暴力枚举,但是也有数学方法. 首先,a,b,c中肯定有至少一个为偶数,否则和不可能为以上两个 ...
- 问题-[Delphi]SendMessageTimeout调用后卡住点击任务栏还会出现窗体处理
问题现象:在使用SendMessageTimeout函数后,5秒后WIN把进程挂在起.这时把程序最小化(原因就是不想让用户看到卡的界面),但点击任务栏按钮界面还原了,拦截消息失败(原因是挂起后消息都放 ...