2011-05-23 82 views
1

我有一个数组作为$arr = array("name" => "Fom Xong" , "Sales" => "100");PHP数组操作

从这个数组我要生成一个字符串像这样

$str = 'name="Fom Xon" Sales="100"'; 

是否有可能???

在此先感谢

+4

@Shakti辛格:http://stackoverflow.com/questions/4529640/get-the-year-from-specified-date-php ---当**你**问你有rtfm-like问题时你有礼貌和具体的答案;-) – zerkms 2011-05-23 06:12:13

+1

@zerkms:Tha t不像rtfm问题。我想出了具体的问题,这就是为什么这个问题得到4 upvote – 2011-05-23 06:15:08

+1

@Shakti辛格耻辱,其实你没有生成一个答案,所以你自己生气 – DingDongDev 2011-05-23 06:16:41

回答

3

例如,你可以这样做:

$tmp_arr = array(); 
foreach ($arr as $key => $val) 
    $tmp_arr[] = $key.'="'.$val.'"'; 

$str = implode(' ', $tmp_arr); 
+0

你得到+1,只是因为我尽量避免在PHP中扩展可变字符串。 :) – 2011-05-23 06:17:07

+1

谢谢老板。上帝给你一个婴儿! – DingDongDev 2011-05-23 06:18:56

+1

@John我知道我应该使用'sprintf('%s =“%s”',$ key,$ value)'...;) – deceze 2011-05-23 06:25:01

1
$output = array(); 
foreach ($arr as $key => $value) { 
    $output[] = "$key=\"$value\""; 
} 
echo join(' ', $output); 

或者:

echo join(' ', array_map(function ($key, $value) { return "$key=\"$value\""; }, array_keys($arr), $arr)); 
+1

嗯,为什么downvoted?我已经写了几乎相同的... – zerkms 2011-05-23 06:08:39

+0

痒downvote手指? – deceze 2011-05-23 06:08:47