摘要:本文主要是介绍php中字符串如何转换成数组,和数组如何转换成字符串的方法。
一、php字符串的定义
一个字符串string就是由一系列的字符组成,其中每个字符等同于一个字节。这意味着 PHP 只能支持 256 的字符集,因此不支持 Unicode。
1、单引号定义字符串
单引号定义一个字符串的最简单的方法是用单引号把它包围起来(字符 ')。
echo 'this is a simple string';
// 可以录入多行
echo 'You can also have embedded newlines in
strings this way as it is
okay to do';
// 输出: Arnold once said: "I'll be back"
echo 'Arnold once said: "I'll be back"';
// 输出: You deleted C:*.*?
echo 'You deleted C:\*.*?';
// 输出: You deleted C:*.*?
echo 'You deleted C:*.*?';
// 输出: This will not expand: n a newline
echo 'This will not expand: n a newline';
// 输出: Variables do not $expand $either
echo 'Variables do not $expand $either';
?>
注意:在单引号字符串中的变量和特殊字符的转义序列将不会被替换。
2、双引号定义字符串双引号定义一个字符串的最简单的方法是用双引号把它包围起来(字符 "")。
echo "Hello World";
// 可以录入多行
echo "https://
www.yunbook.vip";
?>
注意:用双引号定义的字符串最重要的特征是变量会被解析。
二、php数组的定义PHP 中的数组实际上是一个有序映射。可以用 array() 语言结构来新建一个数组。它接受任意数量用逗号分隔的 键(key) => 值(value)对。
$array = array(
"key1" => "yun",
"key2" => "book",
);
// 自 PHP 5.4 起
$array = [
"key3" => "yun2",
"key4" => "book2",
];
?>
注意1: key 可以是 integer 或者 string。value 可以是任意类型。
注意2:自 5.4 起可以使用短数组定义语法,用 [] 替代 array()。
此外 key 会有如下的强制转换:
包含有合法整型值的字符串会被转换为整型。例如键名 "6" 实际会被储存为 6。但是 "06" 则不会强制转换,因为其不是一个合法的十进制数值。
浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 5.2 实际会被储存为 5。
布尔值也会被转换成整型。即键名 true 实际会被储存为 1 而键名 false 会被储存为 0。
Null 会被转换为空字符串,即键名 null 实际会被储存为 ""。
数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type。
注意3:如果在数组定义中多个单元都使用了同一个键名,则只使用了最后一个,之前的都被覆盖了。
三、php 字符串转数组1、 explode 方法— 使用一个字符串分割另一个字符串,并返回一个数组。
// 示例 1
$user = "key1 key2 key3 key4 key5";
$users = explode(" ", $user);
echo $users[0]; // key1
echo $users[1]; // key2
?>
注意:如果字符串没有任何符号可以进行分割的话,就需要考虑用别的方法实现。
2、 str_split 方法— 将字符串转换为数组。
$str = "Yun Book";
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
?>
输出结果
Array
(
[0] => Y
[1] => u
[2] => n
[3] =>
[4] => B
[7] => o
[8] => o
[9] => k
)
Array
(
[0] => Yun
[1] => Bo
[2] => ok
)
四、php 数组转字符串1、implode 方法- 使用一个字符串将数组变成字符串。
$arr = array(
'hello',
'yun',
'book'
);
$str = implode(",", $arr);
echo $str; // hello,yun,book
// Empty string when using an empty array:
var_dump(implode('hello', array())); // string(0) ""
?>