php 怎麼把數組轉化成字串_PHP教程

來源:互聯網
上載者:User
問題
數組轉化成字串問題
解決方案
問個數組問題,我現在擷取得到的一個二維陣列變數: $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

)
複製代碼

http://www.bkjia.com/PHPjc/632598.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632598.htmlTechArticle問題 數組轉化成字串問題 解決方案 問個數組問題,我現在擷取得到的一個二維陣列變數: $postanswer=$_POST["answer{$showarr['cs_id']}"]; 複製代...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.