我使用以下代码输出数组
$values = array();
foreach ($album as $a){
$values[] = $a['value'];
}
$string = implode(' or ', $values);
}
返回
1 or 2 or 3
现在我怎么能把“”放在每个值周围,所以它看起来像
"1" or "2" or "3"
谢谢你的帮助
if (!empty($values)) {
$string = '"' . implode('" or "', $values) . '"';
} else {
$string = 'What do you think you\'re doing!?';
}
我认为这更容易:
$values = array();
foreach ($album as $a){
$values[] = '"'.$a['value'].'"'; //concat quotes on each side of the value
}
$string = implode(' or ', $values);
}
这是一个干净的解决方案,可以与空数组一起正常工作:
$string = implode(' or ', array_map(function($value) {
return '"' . $value . '"';
}, $values));
演示(从php -a
外壳复制):
php > $values = array('foo', 'bar', 'moo');
php > $string = implode(' or ', array_map(function($value) {
php ( return '"' . $value . '"';
php ( }, $values));
php > echo $string;
"foo" or "bar" or "moo"
php >