php foreach 循环没有给出所有结果?
php foreach loop doesn't gives all the results?
我正在尝试从字符串中提取指定的单词。
我不知道我是否忘记了什么但它只打印前两个值?有人可以帮我吗?
感谢您的帮助!
$orgData["connector"] = 'some stringy thing SMA-female N-female FME-female';
if (preg_match_all('/(N-female|SMA-female|FME-female)/',$orgData["connector"], $matches)) {
foreach ($matches as $i => $match) {
if ($match[$i] == "N-female") {
$con1 = "|Connector: N-female";
}
if ($match[$i] == "SMA-female") {
$con2 = "|Connector: SMA-female";
}
if ($match[$i] == "FME-female") {
$con3 = "|Connector: FME-female";
}
print_r($con1 . $con2 . $con3);
}
}
您可以使用单个变量并在找到匹配项后追加:
$orgData = 'some stringy thing SMA-female N-female FME-female';
$con = "";
if (preg_match_all('/(?:N|SMA|FME)-female/', $orgData, $matches)) {
foreach ($matches[0] as $match) {
if ($match == "N-female") {
$con .= "|Connector: N-female";
}
if ($match == "SMA-female") {
$con .= "|Connector: SMA-female";
}
if ($match == "FME-female") {
$con .= "|Connector: FME-female";
}
}
}
echo $con; // => |Connector: SMA-female|Connector: N-female|Connector: FME-female
参见PHP demo。
请注意,我稍微缩小了模式:(?:N|SMA|FME)-female
匹配 N
、SMA
或 FME
,然后是 -female
。
我正在尝试从字符串中提取指定的单词。
我不知道我是否忘记了什么但它只打印前两个值?有人可以帮我吗?
感谢您的帮助!
$orgData["connector"] = 'some stringy thing SMA-female N-female FME-female';
if (preg_match_all('/(N-female|SMA-female|FME-female)/',$orgData["connector"], $matches)) {
foreach ($matches as $i => $match) {
if ($match[$i] == "N-female") {
$con1 = "|Connector: N-female";
}
if ($match[$i] == "SMA-female") {
$con2 = "|Connector: SMA-female";
}
if ($match[$i] == "FME-female") {
$con3 = "|Connector: FME-female";
}
print_r($con1 . $con2 . $con3);
}
}
您可以使用单个变量并在找到匹配项后追加:
$orgData = 'some stringy thing SMA-female N-female FME-female';
$con = "";
if (preg_match_all('/(?:N|SMA|FME)-female/', $orgData, $matches)) {
foreach ($matches[0] as $match) {
if ($match == "N-female") {
$con .= "|Connector: N-female";
}
if ($match == "SMA-female") {
$con .= "|Connector: SMA-female";
}
if ($match == "FME-female") {
$con .= "|Connector: FME-female";
}
}
}
echo $con; // => |Connector: SMA-female|Connector: N-female|Connector: FME-female
参见PHP demo。
请注意,我稍微缩小了模式:(?:N|SMA|FME)-female
匹配 N
、SMA
或 FME
,然后是 -female
。