$name
是字符串,包含文件名,如下所示,
AAA_ss_01.pdf,AAA_ss_02.pdf,AAA_sd_01.pdf,BBB_ss_02.pdf, BBB_ss_4.pdf,BBB_sd_01.pdf,cc_saa_01.pdf
我想添加输入名称值以自动对项目进行分类。
<input name="AAA" .../> or <input name="BBB" .../> ........
PHP
if (strpos($names, 'AAA') !== false) {
echo 'AAA';
}elseif (strpos($names, 'BBB') !== false){
echo 'BBB';
}elseif (strpos($names, 'ccc') !== false){
echo 'ccc';
}else{
echo '';
}
我做了这样的功能
function contains($names, $string){
if (strpos($names, $string) !== false) {
echo $string;
}
}
但我不确定strpos是否是一种我可以使用的正确方法,或者是否有更好的方法。
由于
答案 0 :(得分:3)
strpos
是检查字符串A是否包含字符串B的正确方法。它非常快。您可能希望使用stripos
进行不区分大小写的匹配。
但是,如果$names
是一个数组,则必须对其进行迭代并检查每个值。
foreach ($names as $name) {
if (strpos($name, 'AAA') !== false) {
echo 'AAA';
} elseif (strpos($name, 'BBB') !== false) {
echo 'BBB';
} elseif (strpos($name, 'ccc') !== false) {
echo 'ccc';
} else{
echo '';
}
}
答案 1 :(得分:1)
如果您只想从前3个字母中输入信息,可以使用以下内容快速完成输入:
foreach($names as $name):
echo '<input name="', substr($name, 0, 3) ,'" type="text"/>';
endforeach;