iai*_*ain 5 php substr implode array-filter
我到处搜索,但找不到适合我的解决方案.
我有以下内容:
$bedroom_array = array($studio, $one_bed, $two_bed, $three_bed, $four_bed);
Run Code Online (Sandbox Code Playgroud)
对于这个例子,我们说:
$studio = '1';
$one_bed = '3';
$two_bed = '3';
Run Code Online (Sandbox Code Playgroud)
然后我使用implode函数在所有值之间添加逗号:
$bedroom_list = implode(", ", array_filter($bedroom_array));
echo $bedroom_list;
Run Code Online (Sandbox Code Playgroud)
然后输出:
1,2,3
我想要做的是找到字符串中的最后一个逗号并用&替换它,所以它会读取:
1,2和3
字符串不会总是这么长,可以更短或更长,例如1,2,3,4等等.我已经研究过使用substr但是我不确定这是否适用于我需要的东西?
Mic*_*ski 27
弹出最后一个元素,将其余元素一起内爆,然后将最后一个元素重新打开.
$bedroom_array = array('studio', 'one_bed', 'two_bed', 'three_bed', 'four_bed');
$last = array_pop($bedroom_array);
$string = count($bedroom_array) ? implode(", ", $bedroom_array) . " & " . $last : $last;
Run Code Online (Sandbox Code Playgroud)
如有必要,转换&为实体&.
如果你有逗号分隔的单词列表,你可以使用:
$keyword = "hello, sadasd, sdfgdsfg,sadfsdafsfd, ssdf, sdgdfg";
$keyword = preg_replace('/,([^,]*)$/', ' & \1', $keyword);
echo $keyword;
它会输出:hello,sadasd,sdfgdsfg,sadfsdafsfd,ssdf&sdgdfg