逐字爆炸字符串,包括空格

时间:2013-11-26 04:07:44

标签: php arrays string

我如何将字符串分解为数组。实际上我想将英语翻译成盲文。我需要做的第一件事是从字符串中逐个获取字符,然后通过mathing从数据库中的值转换它们,并使用pic显示盲文代码。例如,当用户输入“abc ef”时,这将在彼此之间单独创建值。

Array
(
[0] => a
[1] => b
[2] => c
[3] => 
[4] => e
[5] => f
)

我试图做但没有得到所需的输出。此代码分隔整个字符串。

$papar = preg_split('/[\s]+/', $data);
print_r($papar);

对不起简单的问题,如果你们都知道我应该如何翻译它,请随时提供帮助。 :)

3 个答案:

答案 0 :(得分:2)

如果您使用的是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

答案 1 :(得分:0)

PHP有一种非常简单的方法来获取特定索引处的字符。

为此,请使用substring方法并传入您要查找的索引。

我将如何解决您的问题

  1. 确保您要转换的字符串至少有一个
  2. 确定字符串的长度

    int strlen ( string $string )

  3. 循环每个字符并根据该字符执行某些操作

  4. 使用字符串“abcdef”

    $rest = substr("abcdef", -1); // returns "f"

    有关完整示例和更多信息,请参阅substr页面

    http://us2.php.net/substr

答案 2 :(得分:-1)

您可以迭代字符串本身。

$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";
}