刚开始编写PHP,有人能指出我正确的方向吗? 我有:
$text = Barcelona, Catalunya, Spain
我想只得到应该是
的第一个和最后一个词输出:西班牙巴塞罗那
我尝试了这个,但它给了我最后两个字:
$text = explode(",", $text);
$size = array_slice($text, -2, 2);
$text = implode(",", $size);
输出:西班牙加泰罗尼亚
有人可以帮忙吗?
答案 0 :(得分:1)
<?php
$array = array(Barcelona, Catalunya, Spain);
$first = reset($array);
$last = end($array);
var_dump($first, $last);
?>
答案 1 :(得分:1)
试试这个希望它会对你有所帮助:
$text = "Barcelona, Catalunya, Spain";
$array = explode(",",$text);
$first_word = $array[0];
$last_word = $array[count($array)-1];
echo $first_word. ', '.$last_word;
输出:
Barcelona, Spain
答案 2 :(得分:0)
$text
现在有值数组
第一个元素:
$text[0]
或
reset($text)
最后一个元素:
end($text)
答案 3 :(得分:0)
对第一个元素使用current(),为最后一个元素使用end()
$text = "Barcelona, Catalunya, Spain";
$exp = explode(", ", $text);
$string = current($exp) . ", " . end($exp);
答案 4 :(得分: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)
之类的{{1}}。
答案 5 :(得分:0)
尝试使用这个非常简单的正则表达式
preg_match('/^(.[^,]*)\s*,.*,\s*(.*)$/', $text, $match);
$first = $match[1];
$last = $match[2];
如果您确定元素只是没有数字和其他符号的单词,则可以修改此正则表达式