页首

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:

  • 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

posted @ 2018-03-03 20:08  zhangrxiang  阅读(487)  评论(0编辑  收藏  举报

页脚