2016-11-15 3 views
0

JSやPHPにあったかどうかはわかりませんが、PHPで可能だったらそれは素晴らしいでしょう!もしそうでなければ、IFなしではどうしたらいいですか?PHP変数でORを実行しますか?

コード:

$myvar = str_replace("hello","jpg",$myvar) || str_replace("hello","gif",$myvar); //Didnt work 

と私が試した:

$myvar = (str_replace("hello","jpg",$myvar) || str_replace("hello","gif",$myvar)); //Didnt work 

は基本的に私がここで達成しようとしていますどのようなバック叶うものは何でも1を実行することです。 できない場合:str_replace("hello","jpg",$myvar)を入力してください。str_replace("hi","gif",$myvar)を入力してください。今私はIFをやってみたが、それも仕事をしなかった。

マイIFこともdidntの仕事:

if (str_replace("hello","jpg",$myvar) == true) 
{ 
    $myvar = str_replace("hello","jpg",$myvar); 
} 
else if (str_replace("hello","gif",$myvar) == true) 
{ 
    $myvar = str_replace("hello","gif",$myvar); 
} 
+0

おそらく 'strpos()!== false'を使ってチェックしてから、' str_replace() 'を使ってください。 'strpos()'の使用法のマニュアルを参照してください:http://php.net/manual/en/function.strpos.php – Rasclatt

+1

コードは意味をなさない。 'str_replace()'はブール値を返しません。 – SLaks

+1

[docs](http://php.net/manual/en/function.str-place.php)によると、 'str_replace'は文字列または置換された値を持つ配列を返します。 「偽」と評価されることはありません。 –

答えて

3

簡単な解決策は次のとおりです。

// if you have `hello` in a string - replace it 
if (strpos($myvar, 'hello') !== false) { 
    $myvar = str_replace("hello","jpg",$myvar); 
} else { 
    // else replace `hi`, 
    // if there's no `hi` in a string - it doesn't matter 
    $myvar = str_replace("hi","gif",$myvar); 
} 
+0

偉大なアイデアだが、私の文字列はそれだけでこんにちはを持っていないことを実現。 +1。 – irishwill200

2
$myvar = (strpos($myvar, 'hello') !== false) ? str_replace('hello', 'jpg', $myvar) : str_replace('hi', 'gif', $myvar); 

OR

if (strpos($myvar, 'hello') !== false) 
{ 
    $myvar = str_replace('hello', 'jpg', $myvar); 
} 
elseif (strpos($myvar, 'hi') !== false) 
{ 
    $myvar = str_replace('hi', 'gif', $myvar); 
} 
+0

偉大なアイデアが、私の文字列はそれでは、こんにちは、こんにちはを持っていることはありません実現しました。私は私の質問を更新しました。 didntは誤植に気付いた! +1。 – irishwill200

0

それとも、配列を使用します。

$myvar = str_replace(array('hello', 'hi'), array('jpg', 'gif'), $myvar); 
関連する問題