0

キーと値を含む配列があります。文字列に変換したいと思います。

array(
 [business_type]=>'cafe'
 [business_type_plural] => 'cafes'
 [sample_tag]=>'couch'
 [business_name]=>'couch cafe'
 )

期待される出力:

business_type,cafe|business_type_plural,cafes|sample_tag,couch|business_name,couch cafe

ノート:

StackOverflow で検索していたところ、以下の質問が見つかりました。回答があります。私は正確に逆のものが欲しいです。

キーと値を含む文字列を配列に変換する

4

3 に答える 3

2

試す

$data = array();
foreach($arr as $key=>$value) {
  $data[] = $key.','.$value;
}
echo implode('|',$data);

別の解決策:

function test_alter(&$item1, $key, $delimiter)
{
    $item1 = "$key".$delimiter."$item1";
}

array_walk($arr, 'test_alter',',');
echo implode('|',$arr);
于 2012-12-07T16:51:56.743 に答える
1

関数を使用しforeach()て配列を調べ、キー/値を一緒に文字列にします...

あなたの配列が呼び出されたと仮定します$array

$result = "";
foreach($array as $key => $value){
    $result .= $key . "," . $value . "|";
}

それはそれと同じくらい簡単です。

編集 - ありがとうネルソン

その後、最後に負けた|

$result = rtrim($result, "|");
于 2012-12-07T16:51:26.480 に答える
0

これを試して

$pieces=array();
foreach(array('key1'=>'val1', 'key2'=>'val2', 'key3'=>'val3') as $k=>$v)
{
    $pieces[]=$k.','.$v;
}
echo implode('|', $pieces);
于 2012-12-07T16:53:24.460 に答える