PHP把數(shù)組轉(zhuǎn)成字符串,PHP字符串轉(zhuǎn)成數(shù)組
經(jīng)常會用到數(shù)組和字符串的轉(zhuǎn)換,例如下面的一個數(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
// 分隔符可以是斜線,點,或橫線
$date = "04/30/1973";
list($month, $day, $year) = split ('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br /> ";
?>
轉(zhuǎn)換方式三:// 分隔符可以是斜線,點,或橫線
$date = "04/30/1973";
list($month, $day, $year) = split ('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br /> ";
?>
preg_split — 通過一個正則表達式分隔字符串
array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
通過一個正則表達式分隔給定字符串.
pattern:用于搜索的模式, 字符串形式.
subject:輸入字符串
limit:如果指定, 將限制分隔得到的子串最多只有l(wèi)imit個, 返回的最后一個 子串將包含所有剩余部分.limit值為-1, 0或null時都代表"不限制", 作為php的標(biāo)準(zhǔn), 你可以使用null跳過對flags的設(shè)置.
flags:flags可以是任何下面標(biāo)記的組合(以位或運算|組合):
PREG_SPLIT_NO_EMPTY:如果這個標(biāo)記被設(shè)置, preg_split()將進返回分隔后的非空部分.
PREG_SPLIT_DELIM_CAPTURE:如果這個標(biāo)記設(shè)置了, 用于分隔的模式中的括號表達式將被捕獲并返回.
PREG_SPLIT_OFFSET_CAPTURE:如果這個標(biāo)記被設(shè)置, 對于每一個出現(xiàn)的匹配返回時將會附加字符串偏移量. 注意: 這將會改變返回數(shù)組中的每一個元素, 使其每個元素成為一個由第0 個元素為分隔后的子串, 第1個元素為該子串在subject 中的偏移量組成的數(shù)組.
<?php
//使用逗號或空格(包含" ", , , , f)分隔短語
$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 ]] )
通過一個正則表達式分隔給定字符串.
pattern:用于搜索的模式, 字符串形式.
subject:輸入字符串
limit:如果指定, 將限制分隔得到的子串最多只有l(wèi)imit個, 返回的最后一個 子串將包含所有剩余部分.limit值為-1, 0或null時都代表"不限制", 作為php的標(biāo)準(zhǔn), 你可以使用null跳過對flags的設(shè)置.
flags:flags可以是任何下面標(biāo)記的組合(以位或運算|組合):
PREG_SPLIT_NO_EMPTY:如果這個標(biāo)記被設(shè)置, preg_split()將進返回分隔后的非空部分.
PREG_SPLIT_DELIM_CAPTURE:如果這個標(biāo)記設(shè)置了, 用于分隔的模式中的括號表達式將被捕獲并返回.
PREG_SPLIT_OFFSET_CAPTURE:如果這個標(biāo)記被設(shè)置, 對于每一個出現(xiàn)的匹配返回時將會附加字符串偏移量. 注意: 這將會改變返回數(shù)組中的每一個元素, 使其每個元素成為一個由第0 個元素為分隔后的子串, 第1個元素為該子串在subject 中的偏移量組成的數(shù)組.
<?php
//使用逗號或空格(包含" ", , , , f)分隔短語
$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 草原上的駱駝 閱讀(5646) 評論(1) 編輯 收藏 所屬分類: PHP