2014-11-06 83 views
1

剛開始編寫PHP代碼時,有人能指出我的方向嗎? 我有:php - 獲取數組中的第一個字和最後一個字

$text = Barcelona, Catalunya, Spain 

我想只有這應該是

輸出的第一個和最後一個字:巴塞羅那,西班牙

我嘗試這樣做,但它給我的最後2個關鍵詞:

$text = explode(",", $text); 
$size = array_slice($text, -2, 2); 
$text = implode(",", $size); 

OUTPUT:加泰羅尼亞,西班牙

能someo請幫助嗎?

+2

看看'array_pop'和'array_shift'。它們返回給定數組的第一個和最後一個元素。 – Paul 2014-11-06 09:44:16

+0

'$ text [0]第一個和結束($文本)最後一個元素'或'重置($文本)第一個元素' – 2014-11-06 09:45:02

+0

人們已經及時回覆,接受最適合你的答案,但接受...以後幫助別人@ryan – MixedVeg 2014-11-06 11:41:33

回答

0

試試這個,希望它會幫助你:

$text = "Barcelona, Catalunya, Spain"; 
$array = explode(",",$text); 
$first_word = $array[0]; 
$last_word = $array[count($array)-1]; 

echo $first_word. ', '.$last_word; 

輸出:

Barcelona, Spain 
1
<?php 
    $array = array(Barcelona, Catalunya, Spain); 
    $first = reset($array); 
    $last = end($array); 

    var_dump($first, $last); 
?> 
0

$text現在具有值的陣列,以便

第一個元素:

$text[0] 

reset($text) 

最後一個元素:

end($text) 
0

爲第一要素使用current()end()的最後一個元素

$text = "Barcelona, Catalunya, Spain"; 
$exp = explode(", ", $text); 

$string = current($exp) . ", " . end($exp); 

DEMO

0

如果你想獲得第一和最後一個X元素,你可以使用array_slice(),但只要你想的差距,只是array_combine()兩片這樣的

function createCenteredGap($gapLength, $text) { 
    $length = (strlen($text) - $gapLength)/2; 
    $gapLength = 1; 
    return array_merge(
     array_slice($text, 0, $length), 
     array_slice($text, $length+$gapLength, $length) 
    ); 
} 

這將這樣的伎倆時,被稱爲像createCenteredGap(1, $text),你可以看到this demo

+0

謝謝!像一個魅力 – ryan 2014-11-06 10:11:08

+0

@ryan也將工作更大的列表廣告空白,但我建議你檢查之前的函數,如果爆炸按預期工作 – kero 2014-11-06 10:12:57

0

嘗試,如果你確信元素是沒有數字,你可以莫迪其他符號只有文字使用這個非常簡單的正則表達式

preg_match('/^(.[^,]*)\s*,.*,\s*(.*)$/', $text, $match); 
$first = $match[1]; 
$last = $match[2]; 

這個正則表達式

相關問題