0

私は次のような変数を持っています:

$var1 = "33081PA-5112";

しばらくすると次のようになります。

$var1 = "33083";
$var1 = "33081PA-1132";
$var1 = "31183";
$var1 = "13081PA-2132";

PA- がある場合はどのように判断すればよいので、PA- の後の数値を他の変数に取得する必要があります。

ありがとう

4

6 に答える 6

1

これにより、必要なものが得られます。

$var1 = "33081PA-1132";
preg_match('/^([0-9]*)PA-/',$var1,$match);
$var1_cut = $match[1];
preg_match('/PA-([0-9]*)/',$var1,$match);
$var2 = $match[1];

//Outputs
print_r($var1);     //33081PA-1132
print_r($var1_cut); //33081
print_r($var2);     //1132
于 2012-09-21T17:02:14.350 に答える
1

どうぞ:

<?php
    $var1 = "13081PA-2132";
    $pos = strpos( $var1, 'PA-');
    echo $pos . "\n";

    if( $pos > -1 )
    {
        $newVal = substr($var1, $pos+3 );

        echo $newVal;
    }
?>

出力:

5
2132
于 2012-09-21T16:54:43.690 に答える
1

strpos() を使用します。

if(strpos($var,'PA-') !== false) // code to run if the string has a PA-
于 2012-09-21T16:53:57.477 に答える
0
<?php

$var1 = "33083";
$var1 = "33081PA-1132";

if(strstr($var1, 'PA') !== false){ // If it has the PA
    $parts = explode('PA-', $var1); // Split by dash

    echo $parts[0]; // Left part
    echo '<br />';
    echo $parts[1]; // Right part
}else{
    echo $var1; // It has not PA
}

?>
于 2012-09-21T16:55:25.980 に答える
0
if(trim(str_replace(range(0,9),'', $var1)) == 'PA-') { 
  //do stuff
}
于 2012-09-21T16:55:27.713 に答える
0

regexマッチを行うことができます:

preg_match("{PA-(\d+)}",$var,$array);
echo $array[1][0];
于 2012-09-21T16:54:09.627 に答える