PHP内爆爆炸第一个和最后一个数组值
Posted
技术标签:
【中文标题】PHP内爆爆炸第一个和最后一个数组值【英文标题】:PHP implode explode first and last array value 【发布时间】:2013-12-15 23:32:29 【问题描述】:我还是 php 的大一新生。 所以我有一个名为“全名”的变量,我试图爆炸和内爆第一个和最后一个变量值。
$fullname='Andre Filipe da Costa Ferreira';
$namepieces=explode('', $fullname);
$flname=implode('', namepieces[0], namepieces[lastvar]);
echo "Welcome".$flname;
如果有人可以帮助我,我将不胜感激!谢谢:D
【问题讨论】:
您在第 3 行的namepieces
前面缺少$
;否则 - 你有什么问题?您收到错误消息吗?一个空白屏幕?数据有误?
是的,请举例说明:会输入是什么样的,应该输出是什么样的
【参考方案1】:
这用空格分隔的名字片段,并与像安德烈这样的单个名字片段一起使用:
<?php
$fullname = 'Andre Filipe da Costa Ferreira';
$namepieces = explode(' ', $fullname);
$n = count($namepieces);
if($n > 1)
$flname = implode(' ', array($namepieces[0], $namepieces[$n-1]));
else
$flname = $namepieces[0];
echo "Welcome " . $flname;
//
?>
这得到:
Welcome Andre Ferreira
【讨论】:
【参考方案2】:试试:
$names = explode(" ", "Andre Filipe da Costa Ferreira");
printf("Welcome %s %s", current($names), end($names));
current()
获取它的第一个元素,end()
获取最后一个元素。
【讨论】:
【参考方案3】:<?php
$fullname = 'Andre Filipe da Costa Ferreira';
$namepieces = explode(' ', $fullname);
$flname = implode(' ', array($namepieces[0], $namepieces[count($namepieces)-1]));
echo "Welcome " . $flname;
//
?>
【讨论】:
【参考方案4】:您需要使用end($namepieces);
,它返回最后一个元素的值,或者为空数组返回 FALSE。另外,您在名称之前缺少 $
$flname=implode('', $namepieces[0], end($namepieces));
end()
另一个取自 php.net 的例子,用于从数组中获取第一个和最后一个元素
$items = array( 'one', 'two', 'three' );
$lastItem = end( $items ); // three
$current = current( $items ); // one
【讨论】:
@ThomWiggers 对于 OP 的问题,它最适合我已经向他展示了使用索引 0 或 current() 两种方式current()
不是获取索引 0 的方法:current()
是一种在使用迭代器遍历数组时获取当前元素的方法/ next()
/prev()
。起初它恰好是索引 0 并不是为此使用 current()
的理由。
为什么比使用[0]
更好?
@ThomWiggers 因为它的 php 内置函数
@ThomWiggers 我不想搞砸这个我还有其他事情要做【参考方案5】:
我猜这是更好的方式
<?php
$fullname = 'Andre Filipe da Costa Ferreira';
$namepieces = explode(' ', $fullname);
$n = count($namepieces);
$n > 0 ? $flname = implode(' ', array($namepieces[0], $namepieces[$n-1])) : $flname = $namepieces[0];
echo "Welcome " . $flname;
//
?>
【讨论】:
以上是关于PHP内爆爆炸第一个和最后一个数组值的主要内容,如果未能解决你的问题,请参考以下文章