将数组转换为字符串并返回

时间:2015-05-16 22:46:07

标签: php arrays string

我有一个以这种方式表达的数组:

$id = $values['ids'];

结果:

array(6) { [0]=> string(1) "4" [1]=> string(1) "6" [2]=> string(1) "7" [3]=> string(1) "8" [4]=> string(1) "9" [5]=> string(2) "10" }

最初,我正在破坏这个数组,以便我可以将其作为值在$ _POST中使用:

$id = implode(",", $values['ids']);

结果:

string(12) "4,6,7,8,9,10"

在我的$ _POST页面中,我需要恢复原始数组,但是当我使用explode时,我现在得到了这个结果:

$id2 = explode(" ", $id);
//array(1) { [0]=> string(12) "4,6,7,8,9,10" }

我认为问题在于我是如何在第一时间爆发这个问题的 - 它将单个值作为一个字符串,但不知道该怎么做以获得我需要的结果。我需要将数组作为值传递,然后将其重新放回原来的数组格式。有谁知道我应该做什么?

3 个答案:

答案 0 :(得分:2)

使用explodearray_mapg作为回调:

intval

输出:

$nums = "4,6,7,8,9,10";
$intsArray = array_map('intval', explode(',', $nums));
var_dump($intsArray);

答案 1 :(得分:0)

我想我刚回答了自己的问题。这是我使用爆炸的方式。应该是:

$id2 = explode(',', $id);

而不是:

$id2 = explode(" ", $id);

我会赞扬佩德罗,当他粘贴他的榜样时让我意识到这一点。

答案 2 :(得分:0)

您可以轻松使用json_encodejson_decode功能。例如:

$a = array(1,2,3,4,5);

$b = json_encode($a);
var_dump($b);

$c = json_decode($b);
var_dump($c);

运行的结果是:

meysampg@freedom:~/www/testFunc$ php json_deEncode.php 
string(11) "[1,2,3,4,5]"
array(5) {
  [0] =>
  int(1)
  [1] =>
  int(2)
  [2] =>
  int(3)
  [3] =>
  int(4)
  [4] =>
  int(5)
}