我在foreach()
中跳过元素时遇到问题。当RESERVED时,它应该跳过所有$priznaky[$key]
,但它将只跳过第一个RESERVED,并显示所有其他RESERVED:
foreach ($priznaky as $key=>$value) {
if($priznaky[$key] == "RESERVED"){
continue;
}
else{
$data1 .= "
<tr>
<td>" .$priznaky[$key]. "</td>
<td>" .$zapsan. "</td>
</tr>
";
}
}
print_r($priznaky);
:结果
(
[0] => RESERVED
[1] =>
příznak existence subjektu v Obchodním rejstříku
[2] =>
příznak existence subjektu ve statistickém Registru ekonomických subjektů
[3] =>
příznak existence subjektu v Registru živnostenského podnikání
[4] =>
příznak existence subjektu v Registru zdravotnických zařízení
[5] =>
příznak existence subjektu v Registru plátců daně z přidané hodnoty
[6] =>
příznak existence subjektu v Registru plátců spotřební daně
[7] =>
RESERVED
[8] =>
příznak existence subjektu v registru Centrální evidence úpadců - konkurz
[9] =>
příznak existence subjektu v registru Centrální evidence úpadců - vyrovnání
[10] =>
příznak existence subjektu v registru Centrální evidence dotací z rozpočtu
[11] =>
příznak existence subjektu v účelovém registru organizací systému ARIS
[12] =>
RESERVED
[13] =>
příznak existence subjektu v Registru církví a náboženských společností
[14] =>
příznak existence subjektu v Seznamu politických stran a hnutí
[15] =>
RESERVED
[16] =>
RESERVED
[17] =>
RESERVED
[18] =>
RESERVED
[19] =>
příznak existence subjektu v seznamu Občanských sdružení a spolků
[20] =>
příznak existence subjektu v Zemědělském registru
[21] =>
příznak existence subjektu v Insolvenčním rejstříku
[22] =>
příznak existence subjektu v Rejstříku škol a školských zařízení
[23] =>
RESERVED
[24] =>
RESERVED
[25] =>
RESERVED
[26] =>
RESERVED
[27] =>
RESERVED
[28] =>
RESERVED
[29] =>
RESERVED
[30] =>
)
数据中似乎有换行符。从您的print_r()
:
[0] => RESERVED
[15] =>
RESERVED
[16] =>
RESERVED
[17] =>
RESERVED
[18] =>
RESERVED
看到区别了吗?所以trim()
就是了。此外,如果你改变逻辑,只使用$value
而不需要continue
会更容易:
foreach($priznaky as $value) {
if(trim($value) !== "RESERVED"){
$data1 .= "
<tr>
<td>" .$value. "</td>
<td>" .$zapsan. "</td>
</tr>
";
}
}
如果换行不是唯一的问题,您也可以检查strpos($value, 'RESERVED') !== false
。