我有一个csv导入函数。在csv中有这样的列 ''1. 英杜睿, 学士, 2015, 1.法赫里斯'' 或者这个 '' 1. 数学,洛杉矶体操学士,2015
,''如果行中存在"LA",那么$fachrichtung='Lehramt'
, 如果没有 LA,则$fachrichtung
是数字后面的第一个单词。 1. 英杜睿, 学士, 2015, 1. 法赫$fachrichtung= 'Informatik'
. 但是,如果第一个词不是Informatik或Physik,那么$fachrichtung= 'Sonstige'
.
preg_match( '/[d]+.(?P<fach>[ws]+)/ius', $tmp[6], $aMatches );
$fachrichtung = ( false !== stripos($tmp[6], ', LA ') ) ? "Lehramt" : trim( $aMatches['fach'] );
如何在上面的代码中包含最后一个条件("Sonstige"(?我尝试过使用 if 和 else,但它不起作用。 谢谢
稍后需要检查fach
组的值,并相应地将值分配给$fachrichtung
:
// $tmp = '1. Mathematik, LA Bachelor Gymnasien, 2015,'; // => Sonstige
$tmp = '1. Informatik, Bachelor, 2015, 1. Fachsemester'; // => Informatik
$fachrichtung = '';
if (preg_match( '/d+.(?P<fach>[ws]+)/ius', $tmp, $aMatches )) {
if (true === stripos($tmp, ', LA ') ) {
$fachrichtung = "Lehramt";
} else if ("Informatik" !== trim( $aMatches['fach'] ) && "Physik" !== trim( $aMatches['fach'] )) {
$fachrichtung = "Sonstige";
} else {
$fachrichtung = trim( $aMatches['fach'] );
}
echo $fachrichtung;
}
请参阅 PHP 演示。
正则表达式还可以,我刚刚添加了几个if ... else
.
else if ("Informatik" !== trim( $aMatches['fach'] ) && "Physik" !== trim( $aMatches['fach'] ))
检查fach
组值是否不等于修剪后的Informatik
或Physik
。如果不相等,请设置Sonstige
值。否则,设置fach
组值。