2014-11-14 18 views
14

Java'da indexOf ve lastIndexOf'u kullanabiliriz. Bu işlevler PHP'de bulunmadığından, bu Java kodunun PHP karşılığı ne olurdu? PHP olarakindexOf ve lastIndexOf?

if(req_type.equals("RMT")) 
    pt_password = message.substring(message.indexOf("-")+1); 
else 
    pt_password = message.substring(message.indexOf("-")+1,message.lastIndexOf("-")); 
+1

http://php.net/manual/en/function.strstr.php – alu

+0

olduğunu IndexOf ve LastIndexOf'yi, içinde bulundukları için JavaScript kullanarak kullanabilirsiniz. – Dotnetter

+0

* "Bu işlevler PHP'de bulunmadığından" * - onları aradınız mı? En son kontrol ettiğimde, PHP hala bu işlevselliği sağlıyordu. "indexOf" [strpos() '] olarak adlandırılır (http://php.net/manual/en/function.strpos.php),' lastIndexOf' ['strrpos()'] olarak adlandırılır (http: // php) .net/manuel/tr/function.strrpos.php). – axiac

cevap

10

:

  • stripos() fonksiyon String içinde bir harf duyarlı substring ilk geçtiği konumu bulmak için kullanılır. Bir dizede büyük/küçük harf duyarlı olmayan bir alt dizenin son geçtiği yeri bulmak için kullanılır.

örnek kod:

$string = 'This is a string'; 
$substring ='i'; 
$firstIndex = stripos($string, $substring); 
$lastIndex = strripos($string, $substring); 

echo 'Fist index = ' . $firstIndex . ' ' . 'Last index = '. $lastIndex; 

Çıktı: Yumruk indeksi = 2 Son indeksi = 13

20

Sen PHP bunu için aşağıdaki işlevleri gerekir:

strpos bir dizede bir dize

substr İade bölümünü alt dizenin en son görüldüğü yerin konumunu bulun bir dize

strrpos bir alt dize ilk geçtiği yerini bulur

İşte, substr işlevinin imzası:

string substring(int beginIndex, int endIndex) 

substring (Java) son parametre olarak son indeksini beklediğini, ancak substr (PHP) bir uzunluğa bekler:substring fonksiyonu (Java) imzası biraz farklı görünüyor.

zor, get the end-index in PHP için değil: İşte

$sub = substr($str, $start, $end - $start); 

çalışma kodunu

$start = strpos($message, '-') + 1; 
if ($req_type === 'RMT') { 
    $pt_password = substr($message, $start); 
} 
else { 
    $end = strrpos($message, '-'); 
    $pt_password = substr($message, $start, $end - $start); 
} 
2
<pre> 

<?php 
//sample array 
$fruits3 = [ 
"iron", 
    1, 
"ascorbic", 
"potassium", 
"ascorbic", 
    2, 
"2", 
"1" 
]; 


// Let's say we are looking for the item "ascorbic", in the above array 


//a PHP function matching indexOf() from JS 
echo(array_search("ascorbic", $fruits3, TRUE)); //returns "4" 


//a PHP function matching lastIndexOf() from JS world 
function lastIndexOf($needle, $arr){ 
return array_search($needle, array_reverse($arr, TRUE),TRUE); 
} 
echo(lastIndexOf("ascorbic", $fruits3)); //returns "2" 


//so these (above) are the two ways to run a function similar to indexOf and lastIndexOf() 

?> 
</pre> 
İlgili konular