逐个分解字符串,包括空格


explode string one by one character including space

如何将字符串分解为数组。我想把英语翻译成盲文。我需要做的第一件事是从字符串中一个接一个地获取字符,然后通过对数据库中值的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. 确保要转换的字符串的大小至少为1
  2. 确定字符串的长度

    int strlen ( string $string )

  3. 在每个字符上循环,并根据该字符进行一些操作

带有字符串"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 "&nbsp";
}