2013-02-28 48 views
0

我正在詢問如何使用php代碼來處理從SQL數據庫中檢索的字符串。該字符串採用以下格式:3-5個由數字分隔的字母數字組。字符串中字母數字組的數量相當多(從1到20個或更多組)。從具有句點分隔符的字符串中選擇第一個或最後一個字符組

  • 實施例1:J89.NEWTT.IIU.MZZ.OXI。
  • 例2:ORD6.BAE.J89.DLH.YRL.N5500.W9700.NUGSM.N6500。

我需要做兩件事情與這些:

  1. 分離成一個新的字符串只是第一3組週期之間(實施例1中,結果將是「J89.NEWTT.IIU 「)
  2. 分離成一個新的字符串只是最後3個基團週期之間(實施例2中,結果將是 「W9700.NUGSM.N6500」)

我很難讓普通玩家使用它。謝謝你的幫助!

+0

爲什麼'regex'? $ chunks = explode('。','J89.NEWTT.IIU.MZZ.OXI'); – coolguy 2013-02-28 05:57:25

+0

爆炸('。','J89.NEWTT.IIU.MZZ.OXI') – 2013-02-28 05:58:55

+0

謝謝,刪除正則表達式,是爆炸它。謝謝。 – user2117995 2013-02-28 06:42:12

回答

1

將其拆分(explode),將所需的部分切片,然後再將它們與.再次合併。

這是一種奇怪的格式,挑選第一/最後三個塊似乎真的是任意的。它是結構化數據嗎?如果是這樣,爲什麼你將它存儲在數據庫的單個字段中?

+0

同意。爆炸似乎是最好的,並且在重新加入*前3 *時易於管理。只要不知道如何選擇最後3組來重新組合(爆炸後),當可以有任何數量的字母組組合時。 – user2117995 2013-02-28 06:21:58

+0

解釋數據......它是航空器航線,也與航班號,緯度,經度和各種其他數據有關。這個塊是由另一個服務器以這種格式提供的飛機路線。在某些情況下,我需要在出發後提供前3個點,在某些情況下,還需提前3個點....如果解釋有幫助。 – user2117995 2013-02-28 06:24:38

+0

爲什麼你沒有另外一張桌子上有每個航班號,出發地,目的地,什麼等等的列?你有點挫敗使用數據庫的目的。還有,[last three elements](http://stackoverflow.com/questions/5468912/php-get-the-last-3-elements-of-an-array)在 – Eevee 2013-02-28 06:32:11

相關問題