我有一个包含键和值的数组。我想转换成一个字符串。
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中搜索并找到了以下问题,它有答案。我想完全反向一个。
答案 0 :(得分: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);
答案 1 :(得分:1)
使用foreach()
函数遍历数组并将键/值串在一起......
假设您的数组名为$array
$result = "";
foreach($array as $key => $value){
$result .= $key . "," . $value . "|";
}
就这么简单。
编辑 - 谢谢 Nelson
之后,丢失了最后一个|
$result = rtrim($result, "|");
答案 2 :(得分:0)
试试这个
$pieces=array();
foreach(array('key1'=>'val1', 'key2'=>'val2', 'key3'=>'val3') as $k=>$v)
{
$pieces[]=$k.','.$v;
}
echo implode('|', $pieces);