Преобразовать первый элемент массива в строку в PHP - PullRequest
36 голосов
/ 07 июня 2011

У меня есть массив PHP, и я хочу преобразовать его в строку.

Я знаю, что могу использовать join или implode, но в моем случае массив имеет только один элемент. Почему я должен использовать объединенные значения в массиве только с одним элементом?

Этот массив является выводом моей функции PHP, которая возвращает массив:

Array(18 => 'Something');

Как мне преобразовать это в строку?

Ответы [ 13 ]

2 голосов
/ 25 марта 2013

Поскольку проблема пробелов возникает только при экспорте массивов, вы можете использовать оригинальный var_export () для всех других типов переменных. Эта функция выполняет свою работу и извне работает так же, как var_export ().

<?php

function var_export_min($var, $return = false) {
    if (is_array($var)) {
        $toImplode = array();
        foreach ($var as $key => $value) {
            $toImplode[] = var_export($key, true).'=>'.var_export_min($value, true);
        }
        $code = 'array('.implode(',', $toImplode).')';
        if ($return) return $code;
        else echo $code;
    } else {
        return var_export($var, $return);
    }
}

?>

http://www.php.net/manual/en/function.var-export.php#54440

1 голос
/ 13 декабря 2013

Преобразование массива в строку в PHP:

Используйте функцию PHP join следующим образом:

$my_array = array(4,1,8);

print_r($my_array);
Array
(
    [0] => 4
    [1] => 1
    [2] => 8
)

$result_string = join(',' , $my_array);
echo $result_string;

, который разделяет элементы в массиве запятыми в строку:

4,1,8
0 голосов
/ 07 апреля 2014

Для полноты и простоты должно подойти следующее:

$str = var_export($array, true);

В моем случае это хорошо работает, но другие, похоже, имеют проблемы с пробелами. В этом случае ответ от ucefkh предоставляет обходной путь из комментария в руководстве по PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...