2011-12-29 13 views
-3

可能性の重複に文字列の文字を '<' の変換:
Build condition comparison for if statement比較文字<

する<(に '<'(文字列の文字)に変換する方法はあります比較文字)?


EDIT:
私は同じ結果を達成するための別の方法を知っているが、それは少し長いですが、そのショートカットが動作するかどうかを知りたかったです。
は基本的に、比較文字列として(それは<、>または=かもしれない)、データベースから検索され、2つの数値を比較することになっています。文字が何であるかを確認するシナリオをいくつか書くことができますが、長い文字列を使用する前に、その文字列が比較文字列に変換できるかどうかを確認したいと考えました。

+0

を印刷するのだろうか?立っているあなたの質問は、十分な情報を提供していません。 –

+0

どのようにですか?短い答えはいいえですが、あなたの意図する目標を達成するためのよりよい方法があるかもしれません。 – cmbuckley

+0

*(先端)* https://www.youtube.com/watch?v=4F72VULWFvc – Gordon

答えて

0

短い答えはノーです。それはネイティブの後にあなたがしているものを行うこととして

ただし、(あなたが達成しようとしているものに応じて)、version_compareを見ています。

ない場合は、次の操作を行うことができます:

function compare($string1, $string2, $operator) { 
    $cmp = strnatcmp($string1, $string2); 

    switch($operator) { 
     case '>': return ($cmp > 0); 
     case '>=': return ($cmp >= 0); 
     case '<': return ($cmp < 0); 
     case '<=': return ($cmp <= 0); 
     // expand as necessary 
    } 
} 
0

のeval()関数を使用して、文字列をPHPコードとして評価することができます。たとえば:

eval('echo 2 < 3'); 

は、どのような目的を達成するために1

+0

質問の編集後に、これはかなり危険なオプションです。比較演算がデータベースから取得された(チェックされていない)場合、 'eval'は基本的にデータベースに書かれた(悪意のある)ものがあれば、任意のPHPコードを実行できます。 –

+1

は 'eval'は' evil' – Kumar

+0

ための誤植であるだけで何のデータベースから取得されることはeval()関数を実行する前に、あなたが期待するものであることを確認してください。 eval()は、正しく実装されておらず、安全でない場合にのみ悪です。 – VettelS