次のコードに簡単な問題があります。
<?php
$data = file_get_contents('aims_small.html');
$pattern_2 = '/<DIV STYLE=".*?top:(144px|[1-5][0-9][0-9]px).*?left:(7[6-9]px|8[0-4]px).*?width:(52px|[5-8][0-9]px).*?>(.*?)<\/DIV>/';
$tag = "pattern_2";
preg_match_all($$tag,$data,$matches);
$var = $matches[0][2];
echo 'show content of $var'.$var;
var_dump($var);
if($var == "OFF")
{
echo "true";
}
else
{
echo "false";
}
?>
$matches[0][2] は、preg_match_all によって作成されたサブ配列です。ここにミリ秒配列 $matches があります
Array
(
[0] => Array ( [0] => Oct02 [1] => Wed [2] => OFF)
[1] => Array ( [0] => 110px [1] => 124px [2] => 144px )
[2] => Array ( [0] => 76px [1] => 82px [2] => 84px )
[3] => Array ( [0] => 88px [1] => 52px [2] => 52px )
[4] => Array ( [0] => Oct02 [1] => Wed [2] => OFF )
)
残念ながら、var が OFF かどうかに関係なく、すべての出力は false です。
var dump --> 出力で編集:
$var の内容を表示 OFF string(66) " OFF " false
両方の値はオフですが、読み取り値は偽です