ホームページ >バックエンド開発 >PHPチュートリアル >php_PHP チュートリアルで配列を文字列に変換する方法

php_PHP チュートリアルで配列を文字列に変換する方法

WBOY
WBOYオリジナル
2016-07-13 10:51:03874ブラウズ



質問
配列を文字列に変換するときに問題が発生しました
解決策
配列の質問をすると、2 次元の配列変数が得られます: $postanswer=$_POST["answer{$showarr['cs_id']}"];
コードをコピーして出力される値は次のとおりです: Array

(

[43] => 配列

(

[A] => A

[B] => B

)



[42] => 配列

(

[C] => C

[D] => D

)



[41] => 配列

(

[B] => B

[C] => C

)



[40] => 配列

(

[B] => B

[D] => D

)



[39] => 配列

(

[A] => A

[D] => D

)



[35] => 配列

(

[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. .cn/images/common/back.gif[/img][/url]


おいおい!出来ないよ!表示: array(5) {

[47]=>

文字列(3) "A,B"

[46]=>

文字列(7) "A、B、B、C"

[45]=>

文字列(11) "A、B、B、C、A、C"

[44]=>

文字列(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;

} その他 {

$new_array[$key] = $value;

}

}



print_r($new_array);

?>


コードをコピー
参考回答
違う考え方をしましょう。
それを達成する方法について話すのではなく、まず自分の意図について考えてみましょう。

配列に「,」があると問題が発生します。
どうすれば復元できますか?

この考えを捨てて、代わりにシリアル化とシリアル化解除を使用してください。
参考回答
元の投稿は liexusong 、2009 年 1 月 3 日 16:47 [url=http://bbs.111cn.cn/redirect.php?goto=findpost&pid=813732&ptid=100247]リンク タグ [img]http://bbs. .cn/images/common/back.gif[/img][/url]
動作するはずです



はは…いや!ちなみに、間違いを選ぶには、ループは for ではなく foreach にする必要がありますよね。
参考回答
元の投稿は、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]
違う考え方をしましょう。
それを達成する方法について話すのではなく、まず自分の意図について考えてみましょう。

配列に「,」があると問題が発生します。
どうすれば復元できますか?

この考えを捨てて、代わりにシリアル化とシリアル化解除を使用してください。
少なくともここではそんなことはあってはならない!テストで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;

} その他 {

$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. .cn/images/common/back.gif[/img][/url]
ああ、私が間違っていたことが判明しました!こうあるべきです!



Bamboo、今回はうまくいきませんでしたが、実際に出力したのは次のとおりです: Array

(

[A] => あ、あ

[D] => だ、だ、だ

[B] => B、B

[C] => C

)
コードをコピー

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632598.html技術記事質問 配列は文字列に変換されます 問題の解決策 配列の質問をすると、2 次元の配列変数が得られます。 $postanswer=$_POST["answer{$showarr['cs_id']}"]; コードをコピーします...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。