【问题标题】:PHP implode explode first and last array valuePHP内爆爆炸第一个和最后一个数组值
【发布时间】: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 前面缺少$;否则 - 你有什么问题?您收到错误消息吗?一个空白屏幕?数据有误?
  • 是的,请举例说明:输入是什么样的,应该输出是什么样的

标签: php arrays explode implode


【解决方案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;
        //
        ?>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-02-25
          • 2019-07-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多