我该如何将一个字符串转换为数组?例如,我有这个字符串:
$str = 'abcdef';
我想要获得:
array(6) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
[3]=>
string(1) "d"
[4]=>
string(1) "e"
[5]=>
string(1) "f"
}
使用 str_split
函数 http://www.php.net/manual/en/function.str-split.php
array([0] => 'string')
的东西。 - Rafael Barros$str = 'abcdef';
$arr = Array();
for($i=0;$i<strlen($str);$i++){
$arr[$i] = substr($str,$i,1);
}
/*
OUTPUT:
$arr[0] = 'a';
$arr[1] = 'b';
$arr[2] = 'c';
$arr[3] = 'd';
$arr[4] = 'e';
$arr[5] = 'f';
*/
$str = 'abcdef';
echo $str[0].$str[1].$str[2]; // -> abc
var_dump(is_array("a string"));
,你会发现它不是一个数组。 - Langdi[]
实际上只是让您访问那些位置的字符,变量类型保持不变,如果它还没有转换为或从数组转换,则不会转换为数组。这就像英语中“their”和“there”发音相同但具有不同的含义一样... - scrowler$str = 'abdefg';
echo $str[4]; // output: f
<?php
$str = "Hello Friend";
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
echo "<br/>";
print_r($arr2);
?>
其他解决方案:
$string = 'abcdef';
$arr = [];
for($i=0;$i<strlen($string);$i++){
$arr[] = substr($string,$i,1);
}
$str[0]
将返回字母'a'。但是,您不能在其上使用foreach或任何数组函数。 - Gordon