PHP之string之implode()函數使用

implode

  • (PHP 4, PHP 5, PHP 7)
  • implode — Join array elements with a string
  • implode — 將一個一維數組的值轉化爲字符串

Description

string implode ( string $glue , array $pieces )
string implode ( array $pieces )
//Join array elements with a glue string.
//用 glue 將一維數組的值鏈接爲一個字符串。

Note:php

  • implode() can, for historical reasons, accept its parameters in either order. For consistency with explode(), however, it may be less confusing to use the documented order of arguments.
  • 由於歷史緣由,implode() 能夠接收兩種參數順序,可是 explode() 不行。不過按文檔中的順序能夠避免混淆。

Parameters

glue

  • Defaults to an empty string.
  • 默認爲空的字符串。

pieces

  • The array of strings to implode.
  • 你想要轉換的數組。

Return Values

  • Returns a string containing a string representation of all the array elements in the same order, with the glue string between each element.
  • 返回一個字符串,其內容爲由 glue 分割開的數組的值。

Examples

<?php
/**
 * Created by PhpStorm.
 * User: zhangrongxiang
 * Date: 2018/2/17
 * Time: 下午10:52
 */

$array           = array( '`lastname`', '`email`', '`phone`' );
$comma_separated = implode( ",", $array );
//`lastname`,`email`,`phone`
echo $comma_separated . PHP_EOL;

// Empty string when using an empty array:
echo '-------------------------' . PHP_EOL;
print_r( implode( 'hello', array() ) ); // string(0) ""
echo '-------------------------' . PHP_EOL;

$id_nums  = array( 1, 6, 12, 18, 24 );
$id_nums  = implode( ", ", $id_nums );
$sqlquery = "Select `name`,email,phone from `usertable` where user_id IN ($id_nums)";
//Select `name`,email,phone from `usertable` where user_id IN (1, 6, 12, 18, 24)
echo $sqlquery . PHP_EOL;
$sqlquery = "Select $comma_separated from `usertable` where user_id IN ($id_nums)";
//Select `lastname`,`email`,`phone` from `usertable` where user_id IN (1, 6, 12, 18, 24)
echo $sqlquery . PHP_EOL;

$ar = array( "hello", null, "world" );
echo implode( ',', $ar ) . PHP_EOL; // hello,,world

$picnames = array( "pic1.jpg", "pic2.jpg", "pic3.jpg", "pic4.jpg", "pic5.jpg", "pic6.jpg", "pic7.jpg" );
$allpics  = implode( "|", array_slice( $picnames, 0, 5 ) );
//pic1.jpg|pic2.jpg|pic3.jpg|pic4.jpg|pic5.jpg
echo $allpics . PHP_EOL;

$test = implode( [ "one", 2, 3, "four", 5.67 ] );
echo $test . PHP_EOL;//one23four5.67

/////////////////////////////////////////////////////////////////////////////////////
class Foo {
    protected $title;
    
    public function __construct( $title ) {
        $this->title = $title;
    }
    
    public function __toString() {
        return $this->title;
    }
}

$array = [
    new Foo( 'foo' ),
    new Foo( 'bar' ),
    new Foo( 'qux' )
];

//foo; bar; qux
echo implode( '; ', $array );

See

All rights reserved

相關文章
相關標籤/搜索