Glossary overview

Implode

implode() — это функция в PHP, которая объединяет элементы массива в строку, используя указанный разделитель.

https://www.php.net/manual/en/function.implode.php

implode(string $separator, array $array): string

Пример

<?php

$array = ['lastname', 'email', 'phone'];
var_dump(implode(",", $array)); // string(20) "lastname,email,phone"

// Empty string when using an empty array:
var_dump(implode('hello', [])); // string(0) ""

// The separator is optional:
var_dump(implode(['a', 'b', 'c'])); // string(3) "abc"

?>

implode() без разделителя

Если не указывать $separator, элементы соединяются просто подряд:

$letters = ['H', 'e', 'l', 'l', 'o'];
echo implode($letters);

//Вывод
Hello

implode() с ассоциативным массивом

Работает только с значениями, ключи игнорируются:

$user = [
    "name" => "John",
    "age" => 30,
    "city" => "New York"
];
echo implode(", ", $user);

//Вывод
John, 30, New York

Использование implode() для генерации SQL-запроса

Часто применяется в SQL-запросах, например, для IN (...):

$ids = [1, 2, 3, 4];
$query = "SELECT * FROM users WHERE id IN (" . implode(", ", $ids) . ")";
echo $query;

// Вывод
SELECT * FROM users WHERE id IN (1, 2, 3, 4)

Мой пример

$look_terms = wp_get_post_terms(get_the_ID(), 'product-category');
$look_names = array();

if (!empty($look_terms) && !is_wp_error($look_terms)) {
	foreach ($look_terms as $term) {
		$look_names[] = $term->name;
	}
}

$looks_string =implode(', ', $look_names);

$hero_args = array(
	'title' => $title,
	'image_id' => $image,
	'description' => $description,
	'date' => $date,
	'looks' => $looks_string,
);

get_template_part('template-parts/hero-blocks/look-hero', null, $hero_args);