從PHP的If-Else語句中提取值
P粉722409996
2023-08-08 14:55:14
<p>Offer.php有200到300個if else語句。我的團隊領導希望獲得if else語句的值。我需要$_GET和=="value"的值。 </p>
<p><strong>Offer.php :</strong></p>
<pre class="brush:php;toolbar:false;"><?php
if (isset($_GET['test']) && $_GET['test'] == "one") {
include "hi.php";
} elseif (isset($_GET['demo']) && $_GET['demo'] == "two") {
include "hello.php";
} elseif (isset($_GET['try']) && $_GET['try'] == "three") {
include "bye.php";
} else {
include "default.php";
}
?></pre>
<p><strong>Value.php</strong> (試試看) :</p>
<pre class="brush:php;toolbar:false;"><?php
$code = file_get_contents("offer.php");
// Regular expression to match $_GET variables and their corresponding values
$pattern = '/isset($_GET['([^'] )'])s*&&s*$_GET['1']s*==s*"([^"] )"/ ';
preg_match_all($pattern, $code, $matches);
$getValues = [];
$values = [];
foreach ($matches as $match) {
$getValues[] = $match[1];
$values[] = $match[3];
}
print_r($variables);
print_r($values);
?></pre>
<p><strong>Expect output :</strong></p>
<pre class="brush:php;toolbar:false;">Array
(
[0] => test
[1] => demo
[2] => try
)
Array
(
[0] => one
[1] => two
[2] => three
)</pre>
<p><strong>問題:我得到了空數組的輸出。 </strong></p>
你試試這樣