我有一个PHP数组,并希望将其转换为字符串。
我知道我可以使用join或implode,但在我的例子中,数组只有一项。为什么我必须在一个只有一项的数组中使用组合值?
这个数组是我的PHP函数的输出,它返回一个数组:
Array(18 => 'Something');如何将其转换为字符串?
发布于 2011-06-07 15:58:01
有没有其他方法可以把数组转换成字符串?
如果我没看错的话,你不想把数组转换成字符串,你想得到数组中唯一元素的值。
<?php
$foo = array( 18 => 'Something' );
$value = array_shift( $foo );
echo $value; // 'Something'.
?>使用array_shift,您不必担心索引。
编辑:请注意,array_shift并不是唯一返回单个值的函数。array_pop( )、current( )、end( )、reset( ),它们都将返回单个元素。所有发布的解决方案都有效。但是使用数组移位,您可以确保只会得到数组的第一个值,即使有多个数组也是如此。
发布于 2011-06-07 16:15:50
有没有其他方法可以把数组转换成字符串?
是的有。serialize()。它可以将各种数据类型(包括对象和数组)转换为字符串表示形式,您可以在以后使用unserialize()。序列化Array(18 => 'Somthing')之类的关联数组将同时保留键和值:
<?php
$a = array(18 => 'Something');
echo serialize($a); // a:1:{i:18;s:9:"Something";}
var_dump(unserialize('a:1:{i:18;s:9:"Something";}')); // array(1) {
// [18]=>
// string(9) "Something"
// }发布于 2012-12-17 10:08:58
向PHP字符串数组创建数组的一种简单方法是:
<?PHP
$array = array("firstname"=>"John", "lastname"=>"doe");
$json = json_encode($array);
$phpStringArray = str_replace(array("{", "}", ":"),
array("array(", "}", "=>"), $json);
echo phpStringArray;
?>https://stackoverflow.com/questions/6262186
复制相似问题