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);
