Heim >php教程 >php手册 >php 怎么把数组转化成字符串

php 怎么把数组转化成字符串

WBOY
WBOYOriginal
2016-06-13 09:52:341317Durchsuche



问题
数组转化成字符串问题
解决方法
问个数组问题,我现在获取得到的一个二维数组变量: $postanswer=$_POST["answer{$showarr['cs_id']}"];
复制代码打印出来的值是: Array

(

[43] => Array

(

[A] => A

[B] => B

)



[42] => Array

(

[C] => C

[D] => D

)



[41] => Array

(

[B] => B

[C] => C

)



[40] => Array

(

[B] => B

[D] => D

)



[39] => Array

(

[A] => A

[D] => D

)



[35] => Array

(

[B] => B

)



)
复制代码现在我想把他们以前面的ID号为组,组内成员以“,”隔开。不知道哪位大侠能帮我看看,感激不尽!


参考答案




$myArr = array();

$listArr = array();

foreach ($_POST["answer{$showarr['cs_id']}"] as $key=>$item){

foreach ($item as $key2=>$value){

$listArr[] = $key2.'-'.$value;

}



$myArr[$key] = join(',',$listArr);

}

var_dump($myArr);


复制代码??这样?
参考答案
用t隔开
参考答案
原帖由 yafeikf 于 2009-1-3 14:28 发表 [url=http://bbs.111cn.cn/redirect.php?goto=findpost&pid=813511&ptid=100247]链接标记[img]http://bbs.111cn.cn/images/common/back.gif[/img][/url]


嘿嘿!不行啊!显示: array(5) {

[47]=>

string(3) "A,B"

[46]=>

string(7) "A,B,B,C"

[45]=>

string(11) "A,B,B,C,A,C"

[44]=>

string(15) "A,B,B,C,A,C,B,D"

[36]=>

string(19) "A,B,B,C,A,C,B,D,C,D"

}
复制代码是不是循环问题啊?

[ ]
参考答案
应该可以的!我没有测试过!

$postanswer = $_POST["answer{$showarr['cs_id']}"];

$new_array = array();



for($postanswer as $key => $value) {

if(isset($new_array[$key])) {

$new_array[$key] .= ','.$value;

} else {

$new_array[$key] = $value;

}

}



print_r($new_array);

?>


复制代码
参考答案
换一个思路吧。
且不说怎么实现,先想想你的意图。

这么做是会出问题的,如果你的数组里面有 “,” 呢?
你再怎么把它还原?

赶紧丢掉这个想法,使用 serialize 和 unserialize 吧。
参考答案
原帖由 liexusong 于 2009-1-3 16:47 发表 [url=http://bbs.111cn.cn/redirect.php?goto=findpost&pid=813732&ptid=100247]链接标记[img]http://bbs.111cn.cn/images/common/back.gif[/img][/url]
应该可以的!我没有测试过!



呵呵...不行!顺便挑个错误,循环时应该是foreach而不是for的吧?
参考答案
原帖由 hubinhust 于 2009-1-3 19:13 发表 [url=http://bbs.111cn.cn/redirect.php?goto=findpost&pid=813834&ptid=100247]链接标记[img]http://bbs.111cn.cn/images/common/back.gif[/img][/url]
换一个思路吧。
且不说怎么实现,先想想你的意图。

这么做是会出问题的,如果你的数组里面有 “,” 呢?
你再怎么把它还原?

赶紧丢掉这个想法,使用 serialize 和 unserialize 吧。
这个应该不会出现,至少在这里!因为我提交的是测试提的答案ABCD。
参考答案
哦~原来我看错了!应该这样的!

$postanswer = $_POST["answer{$showarr['cs_id']}"];

$new_array = array();



foreach($postanswer as $element) {

foreach($element as $key => $value) {

if(isset($new_array[$key])) {

$new_array[$key] .= ','.$value;

} else {

$new_array[$key] = $value;

}

}

}



print_r($new_array);

?>


复制代码
参考答案
原帖由 liexusong 于 2009-1-3 20:10 发表 [url=http://bbs.111cn.cn/redirect.php?goto=findpost&pid=813889&ptid=100247]链接标记[img]http://bbs.111cn.cn/images/common/back.gif[/img][/url]
哦~原来我看错了!应该这样的!



斑竹,这次还不行,居然输出这: Array

(

[A] => A,A

[D] => D,D,D

[B] => B,B

[C] => C

)
复制代码

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:apache2.2创建虚拟主机Nächster Artikel:php 如何做到及时通讯