如何在PHP中将数组元素转换为字符串?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在PHP中将数组元素转换为字符串?相关的知识,希望对你有一定的参考价值。

如果我有一个包含对象的数组:

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

(每个对象都有一个__toString()方法)

如何将所有数组元素转换为字符串,以便数组$a不包含其他对象,但它们的字符串表示形式?是否有单行或我必须手动循环数组?

答案

单行:

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

请参阅php DOCS:

array_map

strval

请享用! ;)

另一答案

没有经过测试,但这样的事情应该做到吗?

foreach($a as $key => $value) {
    $new_arr[$key]=$value->__toString();
}
$a=$new_arr;
另一答案

你在找implode吗?

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

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

echo $comma_separated; // lastname,email,phone
另一答案

我现在无法测试它,但是你可以检查一下implode()这样的阵列会发生什么吗?应该调用_toString。

另一答案

Alix Axel有最好的答案。您也可以使用array_map将任何内容应用于数组...

//All your objects to string.
$a = array_map(function($o){return (string)$o;}, $a);
//All your objects to string with exclamation marks!!!
$a = array_map(function($o){return (string)$o."!!!";}, $a);

请享用

另一答案

你有什么理由不能做到以下几点吗?

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

以上是关于如何在PHP中将数组元素转换为字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何在php laravel中将数组键转换为随机字符串

如何在php中将字节数组转换为整数?

如何在java中将字符串数组转换为int数组[重复]

在java中将字符串数组元素转换为字节数组[重复]

如何在PHP中将对象转换为特定格式的数组

如何在php中将对象数组转换为键值对