我有一个以这种方式表达的数组:
$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" }
我认为问题在于我是如何在第一时间爆发这个问题的 - 它将单个值作为一个字符串,但不知道该怎么做以获得我需要的结果。我需要将数组作为值传递,然后将其重新放回原来的数组格式。有谁知道我应该做什么?
答案 0 :(得分:2)
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_encode
和json_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)
}