如何将字符串分解为数组。我想把英语翻译成盲文。我需要做的第一件事是从字符串中一个接一个地获取字符,然后通过对数据库中值的char进行数学运算来转换它们,并使用pic显示盲文代码。例如,当用户输入"abc-ef"时,这将在彼此之间分别创建值。
Array
(
[0] => a
[1] => b
[2] => c
[3] =>
[4] => e
[5] => f
)
我试着去做,但没有得到想要的结果。此代码分隔了整个字符串。
$papar = preg_split('/['s]+/', $data);
print_r($papar);
我对这个简单的问题感到抱歉,如果你们都知道我应该如何翻译,请随时提供帮助。:)
如果您使用PHP5,str_split
将准确地完成您想要完成的任务。它将字符串中的每个字符(包括空格)拆分为一个单独的元素,然后返回这些元素的数组:
$array = str_split("abc ef");
print_r($array);
输出以下内容:
Array
(
[0] => a
[1] => b
[2] => c
[3] =>
[4] => e
[5] => f
)
更新:
PHP4解决方案是使用preg_split
。传递一个双正斜杠作为匹配模式,以逐字符分隔拆分后的字符。然后,设置PREG_SPLIT_NO_EMPTY
标志,以确保在字符串的开始和结束处不会返回空件:
$array = preg_split('//', "abc ef", -1, PREG_SPLIT_NO_EMPTY); // Returns same array as above
PHP有一个非常简单的方法来获取特定索引处的字符。
要做到这一点,请使用子字符串方法并传入您要查找的索引。
我将如何处理你的问题是
- 确保要转换的字符串的大小至少为1
-
确定字符串的长度
int strlen ( string $string )
-
在每个字符上循环,并根据该字符进行一些操作
带有字符串"abcdef"
$rest = substr("abcdef", -1); // returns "f"
有关完整示例和更多信息,请参阅子字符串页面
http://us2.php.net/substr
您可以迭代字符串本身。
$data = 'something string';
for($ctr = 0; $ctr < strlen($data); $ctr++)
{
if($data{$ctr}):
$kk = mysql_query("select braille_teks from braille where id_huruf = '$data{$ctr}'");
$jj = mysql_fetch_array($kk);
$gambar = $jj['braille_teks'];
?>
<img src="images/<?php echo $gambar;?>">
<?php
else:
echo " ";
}