2012-09-21 88 views
0

字符串的一些部分我有一個變量是這樣的:PHP:提取變量

$var1 = "33081PA-5112"; 

一段時間就變成了:

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

我如何確定何時有PA-,所以當它想要獲得PA-之後的數字值進入其他變量時。

感謝

回答

1

在這裏你去:

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

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

     echo $newVal; 
    } 
?> 

輸出:

5 
2132 
+1

這拯救了我的生命,謝謝 – Redbox

1

使用strpos():

if(strpos($var,'PA-') !== false) // code to run if the string has a PA- 
+0

@Kaii - 夠了,更新。 – j08691

0

你可以做一個regex比賽:

preg_match("{PA-(\d+)}",$var,$array); 
echo $array[1][0]; 
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 
} 

?> 
0
if(trim(str_replace(range(0,9),'', $var1)) == 'PA-') { 
    //do stuff 
} 
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