Все ленты — последние статьи

explode — разделяет строку, согласно указанному разделителю (separator).

explode — разделяет строку, согласно указанному разделителю (separator).
Как это всё выглядит и зачем это нужно?
Функция explode($a, $b, $c) — содержит три аргумента из них аргумент $c, можно не указывать, остальные обязательны для работы функции. Функция explode возвращает массив. Аргумент $a — есть разделитель строки, $b — сама строка, для разделения. Аргумент $c — определяет, какое количество значений, будет содержать стек массива на выходе.

 

Листинг № 1 — explode php функция в работе.
<?php

$a = ' ';
$b = 'Я ни разу за морем не был';
$c = 3;

print_r(explode($a, $b, $c)); // Array ( [0] => Я [1] => ни [2] => разу за морем не был )


$a = ' ';
$b = 'Я ни разу за морем не был';

print_r(explode($a, $b)); // Array ( [0] => Я [1] => ни [2] => разу [3] => за [4] => морем [5] => не [6] => был )


?>
В предыдущем примере, разделителем служил пробел. Теперь изменим разделитель.

Листинг № 2 — explode в php. Разделитель буква.
<?php

$a = 'а';
$b = 'Я ни разу за морем не был';

print_r(explode($a, $b)); // Array ( [0] => Я ни р [1] => зу з [2] => морем не был )

?>
Заметьте, в листинге 2, на выходе, в массиве, разделитель а отсутствует. Сказать по правде, такое применение этой функции, мягко сказать, ни к чему. Здесь приведён этот пример, скорее, для понимания работы функции explode.
А вот следующий пример работы функции explode, применяется часто.

Листинг № 3 — Разделение строки и установка значения переменной с помощью функции list().
<?php

$a = ',';
$b = '"белый налив", оранжевые, жёлтые, красная';

list($apple, $orange, $banana, $cherry) = explode($a, $b);

echo "$apple, $orange, $banana, $cherry"; // "белый налив", оранжевые, жёлтые, красная

$e = array(apple => $apple, orange => $orange, banana => $banana, cherry => $cherry);

echo '<pre>';
print_r($e);
echo '</pre>';
/*
Array
(
[apple] => "белый налив"
[orange] => оранжевые
[banana] => жёлтые
[cherry] => красная
)
*/
?>

Листинг № 4 — Ещё один пример с дополнительной функцией compact
<?php

$a = ',';
$b = '"белый налив", оранжевые, жёлтые, красная'; // это строка

list($apple, $orange, $banana, $cherry) = explode($a, $b);

echo "$apple $orange $banana $cherry"; // "белый налив", оранжевые, жёлтые, красная


$a = ' $';
$b = ' $apple $orange $banana $cherry $box'; // это строка


$a = explode($a, $b);

// Возвращает ассоциативный массив, ключами которого становятся названия переменных, если таковые существуют.
// Ну а значениями, значения этих найденных переменных.
// Переменной box не существует, поэтому она игнорируется.
$b = compact($a);

echo '<pre>';
print_r($b);
echo '</pre>';
/*
Array
(
[apple] => "белый налив"
[orange] => оранжевые
[banana] => жёлтые
[cherry] => красная
)
*/
?>