21.10.2017 03:58:31 pm
Появилась задача преобразовать массив в строку, но строка должна состоять только из тех элементов, чье количество символов не превышает пяти. Решил сделать это через цикл foreach. Сейчас расскажу, как это делал. Например, у нас есть такой массив:
Из этого массива нам надо сделать одну строку, где все слова будет не больше пяти символов. Делаем так:
Готово! Теперь переменная $value содержит строку, собранную из трех элементов массива. Проверить можно так:
На экране мы увидим:
Если отсортировка элементов не нужна, то лучше использоваться специальную функцию implode (http://php.net/manual/ru/function.implode.php). Данная функция соединяет все элементы в строку. Пример:
Первым параметром указываем разделитель межу элементами, второй параметр - массив, что надо преобразовать в строку.
Результат на экране:
Подумал о том, что может потребоваться преобразовать ассоциативным массив в строку, например такой:
В строке должны присутствовать ключи и элементы массива. Я предлагаю преобразовать этот массив, при помощи все того же цикла foreach, например, так:
Если вывести содержимое переменной $value на экран,то мы увидим:
$array = array(
'Арбуз',
'Банан',
'Мандарин',
'Помидор',
'Редис'
);
Из этого массива нам надо сделать одну строку, где все слова будет не больше пяти символов. Делаем так:
$value = null; // Создаем переменную (null)
foreach ($array as $ar) // Прогоняем массив через цикл
{
if (mb_strlen($ar) <= 5) // Считаем и сравниваем количество символов
{
$value .= $ar . ' '; // Если элемент не больше пяти символов, загоняем его в переменную
}
}
Готово! Теперь переменная $value содержит строку, собранную из трех элементов массива. Проверить можно так:
echo $value;
На экране мы увидим:
Арбуз Банан Редис
Если отсортировка элементов не нужна, то лучше использоваться специальную функцию implode (http://php.net/manual/ru/function.implode.php). Данная функция соединяет все элементы в строку. Пример:
$value = implode(' ', $array);
Первым параметром указываем разделитель межу элементами, второй параметр - массив, что надо преобразовать в строку.
Результат на экране:
Арбуз Банан Мандарин Помидор Редис
Подумал о том, что может потребоваться преобразовать ассоциативным массив в строку, например такой:
$array = array(
'Watermelon' => 'Арбуз',
'Banana' => 'Банан',
'Mandarin' => 'Мандарин',
'Tomato' => 'Помидор',
'Radish' => 'Редис'
);
В строке должны присутствовать ключи и элементы массива. Я предлагаю преобразовать этот массив, при помощи все того же цикла foreach, например, так:
$value = null;
foreach ($array as $ar => $key)
{
$value .= $ar . ' > ' . $key . '<br />';
}
Если вывести содержимое переменной $value на экран,то мы увидим:
Watermelon > Арбуз
Banana > Банан
Mandarin > Мандарин
Tomato > Помидор
Radish > Редис
Banana > Банан
Mandarin > Мандарин
Tomato > Помидор
Radish > Редис
- Жалоба