[請益] 請問有沒有函式可以將string轉為expression?

看板PHP作者 (峰)時間17年前 (2008/08/19 23:35), 編輯推噓1(108)
留言9則, 3人參與, 最新討論串1/1
問題如下: 假設一個網頁傳過來的變數 $a = '3' $b = '>' $c = '5' 要如何讓 $a.$b.$c 所形成的字串 ( 3 > 5 ) 轉變成為可以在 if判斷式中 使用? if($a.$b.$c) echo "HELLO"; Output: HELLO 以上只能判斷字串,不能判斷邏輯是否成立。 請各位先進不吝指教,謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.70.68

08/19 23:53, , 1F
eval
08/19 23:53, 1F

08/20 00:04, , 2F
感謝您,我試試看
08/20 00:04, 2F

08/20 01:20, , 3F
eval("\$d = \"$a$b$c\";" );
08/20 01:20, 3F

08/20 01:21, , 4F
eval("if($d){echo wrong;}else{echo correct;}");
08/20 01:21, 4F

08/20 01:22, , 5F
增加這兩行後可以判斷,無奈自己還是不懂。 = =
08/20 01:22, 5F

08/20 01:37, , 6F
eval 是把字串當成程式碼執行
08/20 01:37, 6F

08/20 01:38, , 7F
然後 php 處理雙引號字串時會先把裡面的變數換成它的
08/20 01:38, 7F

08/20 01:38, , 8F
08/20 01:38, 8F

08/20 11:26, , 9F
恩.. 最主要是對eval()用法不太了解,感謝!
08/20 11:26, 9F
文章代碼(AID): #18gkXK5y (PHP)
文章代碼(AID): #18gkXK5y (PHP)