2012-10-01 79 views
2
 
    [a] => Array (
     [0] => MongoId Object (
     [$id] => 506479dc9a5be1596b1bd97d 
    ), 
     [1] => MongoId Object (
     [$id] => 506479dc9a5be1596b1bd97d 
    ) 
    ) 

我有一个这样的数组。我需要的值更改为字符串,将其改变为这样的事情:将数组值转换为字符串

array (
    0 => "506479dc9a5be1596b1bd97d", 
    1 => "506479dc9a5be1596b1bd97d", 
) 

这是我的解决方案,但它是昂贵的,我将在for循环使用这个。

$yut = implode(",", $a); 
$arr = explode(",", $yut); 

还有其他解决方案吗?

回答

4

你可以使用array_map调用MongoId::__toString()这将转换所有蒙戈对象的数组中的字符串

$list = array_map(function($var){ return $var->__toString(); }, $yourArray); 
+0

非常感谢你,它帮了我很多:) – johna

1
$new_array = array_map('strval', $array); 

strval是php内置函数返回字符串值

function ($value){ 
    return (string)$value; 
} 
0

试试这个 -

$str = "Ram, Krishna,John and Heena"; 

使用preg_split()到一个数组中字符串分割 -

$arr = preg_split('/(,{1}[\s]?|\sand\s)+/', $str); 

现在阵列的价值将是 -

array("Ram", "Krishna", "John", "Heena");