Как бросить элементы массива к строкам в PHP?

Если у меня есть массив с объектами:

$a = array($objA, $objB);

(каждый объект имеет a __toString()- метод)

Как я могу бросить все элементы массива для строкового представления так, чтобы массив $a не содержит больше объектов, но их строковое представление? Существует ли острота, или я должен вручную циклично выполниться через массив?

71
задан Alix Axel 15 July 2010 в 17:53
поделиться

5 ответов

Одноклассник:

$a = array_map('strval', $a);
// strval is a callback function

См. PHP Docs:

Array_Map

Strval

Наслаждайтесь! ;)

150
ответ дан 24 November 2019 в 12:59
поделиться

Я не могу проверить это прямо сейчас, но вы можете проверить, что происходит Когда вы взорваться () Такой массив? _Tostring должен быть вызван .

0
ответ дан 24 November 2019 в 12:59
поделиться

Не проверено, но что-то вроде этого должно сделать это?

foreach($a as $key => $value) {
    $new_arr[$key]=$value->__toString();
}
$a=$new_arr;
2
ответ дан 24 November 2019 в 12:59
поделиться

Вы ищете взорваться ?

$array = array('lastname', 'email', 'phone');

$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone
0
ответ дан 24 November 2019 в 12:59
поделиться

Есть ли какие-либо причина, почему вы не можете сделать следующее?

$a = array(
    (string) $objA,
    (string) $objB,
);
-5
ответ дан 24 November 2019 в 12:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: