2013-11-26 54 views
-1

如何將字符串爆炸到數組中。實際上,我想將英語翻譯成盲文。首先我需要從字符串中逐個獲取字符,然後通過從數據庫中的值中提取char來轉換它們,並使用pic顯示盲文代碼。例如,當用戶輸入「abc ef」時,這將在彼此之間分別創建值。爆炸字符串逐個字符包括空格

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

我試圖做但沒有得到所需的輸出。此代碼分隔整個字符串。

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

對於簡單的問題,我很抱歉,如果你們都有一個想法,我該怎麼做才能翻譯它,隨時提供幫助。 :)

+1

也許試試str_split http:// stackoverflow。com/questions/9814375/php-explode-all-characters – Tarnation

+0

我已經更新了一個解決PHP5和PHP4的答案。 – zeantsoi

+0

不是字符串已經是一個字符數組?您可以爲($ ctr = 0; $ ctr Ramz

回答

2

如果您使用的是PHP5,那麼str_split就會完成您正在尋求完成的任務。它分裂的每個字符在字符串 - 包括空格 - 到個體元件,然後返回這些元素的數組:

$array = str_split("abc ef"); 
print_r($array); 

輸出以下:

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

UPDATE

PHP4解決方案是使用preg_split。傳遞一個雙正斜槓作爲匹配模式以逐字符分隔字符。然後,設置PREG_SPLIT_NO_EMPTY標誌,以確保沒有空的結果將在字符串的開始和結束返回:

$array = preg_split('//', "abc ef", -1, PREG_SPLIT_NO_EMPTY); // Returns same array as above 
+0

voilla,看起來不錯,。但我如何檢查數組值是否存在或不存在。我已經修改了我的代碼,但不能在這裏發佈,因爲我的聲望小於10.到目前爲止,我可以將我的字符串拆分爲數組,但是如何將空白顯示爲輸出。我讓使用for語句在每個字符的所有陣循環和使用if語句來指定「&NBSP」爲這樣的空數組值.. 如果($帕帕魯[$一] ==「」) \t { \t \t回波' '; \t \t \t \t} –

+0

如果這個答案幫助解決您原來的問題(其中,根據您所需的輸出,我會爭辯它沒有),你應該接受它是正確的。然後,你應該單獨詢問這個後續問題,這樣你就不會在答案的評論中提出新的問題。國際海事組織,當它包含在評論中時,閱讀代碼是非常困難的。 – zeantsoi

+0

謝謝zeantsoi,我已經發布了我的代碼 –

0

PHP有一個非常簡單的獲取角色在特定指數的方法。

要做到這一點,請利用子串方法並傳入您正在查找的索引。

我怎麼會接近你的問題是

  1. 確保您將有至少一個大小的一個
  2. 確定字符串有多長字符串

    int strlen (string $string)

  3. 循環播放每個字符並根據該字符執行一些操作

一個字符串 「ABCDEF」

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

見一個完整的例子在SUBSTR頁面,瞭解更多信息

http://us2.php.net/substr

-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"; 
} 
+0

謝謝Ramz ,,完美地工作.. :) –

+0

這不會像asker指定的那樣返回一個數組。 – zeantsoi

+0

@zeantsoi但這是一個有價值的選擇..請參閱http://stackoverflow.com/help/how-to-answer – Ramz