php strpos Fatal error: Call to undefined function when using more than one if statement
php strpos Fatal error: Call to undefined function when using more than one if statement
要检查产品尺寸,我需要搜索一个简单的字符串,例如:32sdfsjkndgfjkdgndkj24020ldsfsfsd
为了在字符串中查找值,我使用 strpos 来查找不同的大小。
我当前的代码是:
if (strpos($size, "1875cl") || strpos($size, "01875l")) {
$size = '18,75cl';
} elseif (strpos($size, "20cl") || strpos($size, "020l") || strpos($size, "02l")) {
$size = '20cl';
}
问题是当我使用 if 语句时。
第一个 if 运行良好。然后当 elseif 检查字符串中的另一个值时 - 也使用 strpos 脚本 returns 一个致命错误,指出该函数未定义:
致命错误:在 .....
中调用了未定义的函数 strpos()
这行得通,和你的一样行得通,它唯一可能中断的方法是数据被覆盖或 $size
变量中的数据有误。
您可以使用 preg_replace( '/[^a-zA-Z0-9]/', '', $size );
进一步清理 $size
变量,如果您使用下面的代码,您可以使用名称保存 $correctedSize
变量。
$prodNames = array( '\x0D\x0D\x0D \n\rkajshdfsajkdhaksjd1875cladsas', '۞ ۩ εїз Ƹ̵̡Ӝ̵̨̄kajshdfsajkdhaksjd1875cladsas', 'kajshdfsajkdhaksjd20clcladsas','02lkajshdfsajkdhaksjdadsas', 'kajshdfsajkdhaksjd1875cladsas', 'kajshdfsajkdhaksjd1875cladsas', 'kajshdfsajkdhaksjd20clcladsas','02lkajshdfsajkdhaksjdadsas' );
foreach ( $prodNames as $prodNameRaw ) {
$correctedSize = 0;
$prodName = preg_replace( '/[^a-zA-Z0-9]/', '', $prodNameRaw );
if ( strstr( $prodName, '1875cl' ) || strstr( $prodName, '01875l' ) ) {
$correctedSize = '18,75cl';
} elseif ( strstr( $prodName, '20cl' ) || strstr( $prodName, '020l' ) || strstr( $prodName, '02l' ) ) {
$correctedSize = '20cl';
}
}
要检查产品尺寸,我需要搜索一个简单的字符串,例如:32sdfsjkndgfjkdgndkj24020ldsfsfsd
为了在字符串中查找值,我使用 strpos 来查找不同的大小。
我当前的代码是:
if (strpos($size, "1875cl") || strpos($size, "01875l")) {
$size = '18,75cl';
} elseif (strpos($size, "20cl") || strpos($size, "020l") || strpos($size, "02l")) {
$size = '20cl';
}
问题是当我使用 if 语句时。
第一个 if 运行良好。然后当 elseif 检查字符串中的另一个值时 - 也使用 strpos 脚本 returns 一个致命错误,指出该函数未定义:
致命错误:在 .....
中调用了未定义的函数 strpos()这行得通,和你的一样行得通,它唯一可能中断的方法是数据被覆盖或 $size
变量中的数据有误。
您可以使用 preg_replace( '/[^a-zA-Z0-9]/', '', $size );
进一步清理 $size
变量,如果您使用下面的代码,您可以使用名称保存 $correctedSize
变量。
$prodNames = array( '\x0D\x0D\x0D \n\rkajshdfsajkdhaksjd1875cladsas', '۞ ۩ εїз Ƹ̵̡Ӝ̵̨̄kajshdfsajkdhaksjd1875cladsas', 'kajshdfsajkdhaksjd20clcladsas','02lkajshdfsajkdhaksjdadsas', 'kajshdfsajkdhaksjd1875cladsas', 'kajshdfsajkdhaksjd1875cladsas', 'kajshdfsajkdhaksjd20clcladsas','02lkajshdfsajkdhaksjdadsas' );
foreach ( $prodNames as $prodNameRaw ) {
$correctedSize = 0;
$prodName = preg_replace( '/[^a-zA-Z0-9]/', '', $prodNameRaw );
if ( strstr( $prodName, '1875cl' ) || strstr( $prodName, '01875l' ) ) {
$correctedSize = '18,75cl';
} elseif ( strstr( $prodName, '20cl' ) || strstr( $prodName, '020l' ) || strstr( $prodName, '02l' ) ) {
$correctedSize = '20cl';
}
}