Php 将包含键和值的数组转换为字符串
我有一个数组,它包含键和值。我想转换成字符串Php 将包含键和值的数组转换为字符串,php,arrays,string,Php,Arrays,String,我有一个数组,它包含键和值。我想转换成字符串 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 c
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中搜索,找到了下面的问题,它有答案。我要正好相反的
使用foreach()
函数遍历数组并将键/值串在一起
假设您的数组被称为$array
$result = "";
foreach($array as $key => $value){
$result .= $key . "," . $value . "|";
}
就这么简单
编辑-感谢Nelson
之后,丢失了最后一个|
$result = rtrim($result, "|");
使用foreach()
函数遍历数组并将键/值串在一起
假设您的数组被称为$array
$result = "";
foreach($array as $key => $value){
$result .= $key . "," . $value . "|";
}
就这么简单
编辑-感谢Nelson
之后,丢失了最后一个|
$result = rtrim($result, "|");
试一试
另一个解决方案:
function test_alter(&$item1, $key, $delimiter)
{
$item1 = "$key".$delimiter."$item1";
}
array_walk($arr, 'test_alter',',');
echo implode('|',$arr);
试一试
另一个解决方案:
function test_alter(&$item1, $key, $delimiter)
{
$item1 = "$key".$delimiter."$item1";
}
array_walk($arr, 'test_alter',',');
echo implode('|',$arr);
试试这个
$pieces=array();
foreach(array('key1'=>'val1', 'key2'=>'val2', 'key3'=>'val3') as $k=>$v)
{
$pieces[]=$k.','.$v;
}
echo implode('|', $pieces);
试试这个
$pieces=array();
foreach(array('key1'=>'val1', 'key2'=>'val2', 'key3'=>'val3') as $k=>$v)
{
$pieces[]=$k.','.$v;
}
echo implode('|', $pieces);
使用内爆而不是分解=)使用内爆而不是分解=)不要忘记删除结尾处多余的
|
。这就是为什么我更喜欢GBD的内爆
方法。不要忘记在最后删除额外的|
。这就是为什么我更喜欢GBD的内爆方法。