<?php
$m_value = '$m_hours=3&$m_min=4&$m_sec=5';
eval("$m_value;");
echo $m_hours."<br>";
echo $m_min."<br>";
echo $m_sec."<br>";
?>结果是
0
4
5我又尝试了类似的,发现第一个变量好像都不会被赋值,或者说无论第一个值是什么形式,都被赋值成0.
请问是怎么回事?
$m_value = '$m_hours=3&$m_min=4&$m_sec=5';
eval("$m_value;");
echo $m_hours."<br>";
echo $m_min."<br>";
echo $m_sec."<br>";
?>结果是
0
4
5我又尝试了类似的,发现第一个变量好像都不会被赋值,或者说无论第一个值是什么形式,都被赋值成0.
请问是怎么回事?
等价于
$m_min=4;
$m_sec=5;
$m_hours = 3 & $m_min & $m_sec;
所以 $m_hours 为 0要这样才正确
eval(str_replace('&',';',$m_value).';');
$m_value = '$m_hours=3;$m_min=4;$m_sec=5';
eval("$m_value;");
echo $m_hours." <br>";
echo $m_min." <br>";
echo $m_sec." <br>";
?>