PHP把數(shù)組轉(zhuǎn)成字符串,PHP字符串轉(zhuǎn)成數(shù)組
經(jīng)常會(huì)用到數(shù)組和字符串的轉(zhuǎn)換,例如下面的一個(gè)數(shù)組:
字符串轉(zhuǎn)成數(shù)組:
轉(zhuǎn)換方式一:
<?php
$userid=array(1,2,3,4,5);
轉(zhuǎn)換方式一:$userid=array(1,2,3,4,5);
<?php
$str='';
foreach($userid as $id){
$str=$id.$str;
}
$string=rtrim($str);
echo $string;
?>
轉(zhuǎn)換方式二:$str='';
foreach($userid as $id){
$str=$id.$str;
}
$string=rtrim($str);
echo $string;
?>
<?
$string2 = implode(" ", $array);
?>
$string2 = implode(" ", $array);
?>
字符串轉(zhuǎn)成數(shù)組:
轉(zhuǎn)換方式一:
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
轉(zhuǎn)換方式二:$pieces = explode(" ", $pizza);
<?php
// 分隔符可以是斜線(xiàn),點(diǎn),或橫線(xiàn)
$date = "04/30/1973";
list($month, $day, $year) = split ('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br /> ";
?>
轉(zhuǎn)換方式三:// 分隔符可以是斜線(xiàn),點(diǎn),或橫線(xiàn)
$date = "04/30/1973";
list($month, $day, $year) = split ('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br /> ";
?>
preg_split — 通過(guò)一個(gè)正則表達(dá)式分隔字符串
array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
通過(guò)一個(gè)正則表達(dá)式分隔給定字符串.
pattern:用于搜索的模式, 字符串形式.
subject:輸入字符串
limit:如果指定, 將限制分隔得到的子串最多只有l(wèi)imit個(gè), 返回的最后一個(gè) 子串將包含所有剩余部分.limit值為-1, 0或null時(shí)都代表"不限制", 作為php的標(biāo)準(zhǔn), 你可以使用null跳過(guò)對(duì)flags的設(shè)置.
flags:flags可以是任何下面標(biāo)記的組合(以位或運(yùn)算|組合):
PREG_SPLIT_NO_EMPTY:如果這個(gè)標(biāo)記被設(shè)置, preg_split()將進(jìn)返回分隔后的非空部分.
PREG_SPLIT_DELIM_CAPTURE:如果這個(gè)標(biāo)記設(shè)置了, 用于分隔的模式中的括號(hào)表達(dá)式將被捕獲并返回.
PREG_SPLIT_OFFSET_CAPTURE:如果這個(gè)標(biāo)記被設(shè)置, 對(duì)于每一個(gè)出現(xiàn)的匹配返回時(shí)將會(huì)附加字符串偏移量. 注意: 這將會(huì)改變返回?cái)?shù)組中的每一個(gè)元素, 使其每個(gè)元素成為一個(gè)由第0 個(gè)元素為分隔后的子串, 第1個(gè)元素為該子串在subject 中的偏移量組成的數(shù)組.
<?php
//使用逗號(hào)或空格(包含" ", , , , f)分隔短語(yǔ)
$keywords = preg_split("/[s,]+/", "hypertext language, programming");
?>
使用偏移量:
<?php
$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>
輸出:
Array
(
[0] => Array
(
[0] => hypertext
[1] => 0
)
[1] => Array
(
[0] => language
[1] => 10
)
[2] => Array
(
[0] => programming
[1] => 19
)
)
array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
通過(guò)一個(gè)正則表達(dá)式分隔給定字符串.
pattern:用于搜索的模式, 字符串形式.
subject:輸入字符串
limit:如果指定, 將限制分隔得到的子串最多只有l(wèi)imit個(gè), 返回的最后一個(gè) 子串將包含所有剩余部分.limit值為-1, 0或null時(shí)都代表"不限制", 作為php的標(biāo)準(zhǔn), 你可以使用null跳過(guò)對(duì)flags的設(shè)置.
flags:flags可以是任何下面標(biāo)記的組合(以位或運(yùn)算|組合):
PREG_SPLIT_NO_EMPTY:如果這個(gè)標(biāo)記被設(shè)置, preg_split()將進(jìn)返回分隔后的非空部分.
PREG_SPLIT_DELIM_CAPTURE:如果這個(gè)標(biāo)記設(shè)置了, 用于分隔的模式中的括號(hào)表達(dá)式將被捕獲并返回.
PREG_SPLIT_OFFSET_CAPTURE:如果這個(gè)標(biāo)記被設(shè)置, 對(duì)于每一個(gè)出現(xiàn)的匹配返回時(shí)將會(huì)附加字符串偏移量. 注意: 這將會(huì)改變返回?cái)?shù)組中的每一個(gè)元素, 使其每個(gè)元素成為一個(gè)由第0 個(gè)元素為分隔后的子串, 第1個(gè)元素為該子串在subject 中的偏移量組成的數(shù)組.
<?php
//使用逗號(hào)或空格(包含" ", , , , f)分隔短語(yǔ)
$keywords = preg_split("/[s,]+/", "hypertext language, programming");
?>
使用偏移量:
<?php
$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>
輸出:
Array
(
[0] => Array
(
[0] => hypertext
[1] => 0
)
[1] => Array
(
[0] => language
[1] => 10
)
[2] => Array
(
[0] => programming
[1] => 19
)
)
posted on 2015-01-28 14:29 草原上的駱駝 閱讀(5651) 評(píng)論(1) 編輯 收藏 所屬分類(lèi): PHP