在 PHP 中将数组的第一个元素转换为字符串
我有一个PHP数组,并希望将其转换为字符串。
我知道我可以使用 or ,但在我的情况下,数组只有一个项目。为什么我必须在一个数组中使用只有一个项目的组合值?join
implode
这个数组是我的PHP函数的输出,它返回一个数组:
Array(18 => 'Something');
如何将其转换为字符串?
我有一个PHP数组,并希望将其转换为字符串。
我知道我可以使用 or ,但在我的情况下,数组只有一个项目。为什么我必须在一个数组中使用只有一个项目的组合值?join
implode
这个数组是我的PHP函数的输出,它返回一个数组:
Array(18 => 'Something');
如何将其转换为字符串?
有没有其他方法可以将该数组转换为字符串?
你不想将数组转换为字符串,如果我没看错的话,你想要获取数组唯一元素的值。
<?php
$foo = array( 18 => 'Something' );
$value = array_shift( $foo );
echo $value; // 'Something'.
?>
使用array_shift您不必担心索引。
编辑:请注意,array_shift不是唯一返回单个值的函数。array_pop( ), current( ), end( ), reset( ),它们都将返回该单个元素。所有已发布的解决方案都有效。但是,使用数组移位,您可以确保即使有多个值,也只能获得数组的第一个值。
有没有其他方法可以将该数组转换为字符串?
是的,有。serialize()
.它可以将各种数据类型(包括对象和数组)转换为字符串表示形式,您可以在以后取消序列化()。
序列化关联数组 (如 ) 将同时保留键和值: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"
// }