В php У меня есть файл .php и вы хотите оценить определенные строки. В частности, когда переменным $ table_id и $ line присваивается значение.проблема функции strpos в PHP, не находя иглу
В текстовом файле у меня есть:
...
$table_id = 'crs_class'; // table name
$screen = 'crs_class.detail.screen.inc'; // file identifying screen structure
...
среди других линий. В приведенном ниже описании if не обнаруживается наличие $table_id
или $screen
(даже без $ prepended). Я не могу понять, почему он не будет работать, поскольку инструкция strpos ниже ищет «требовать» работы отлично.
Итак, почему это не так, если заявление получило хит?
while ($line=fgets($fh)) {
//echo "Evaluating... $line <br>";
**if ((($pos = stripos($line, '$table_id')) === true) || (($pos = stripos($line, '$screen'))===true))**
{
// TODO: Not evaluating tableid and screen lines correctly fix.
// Set $table_id and $screen variables from task scripts
eval($line);
}
if (($pos=stripos($line, 'require')) === true) {
$controller = $line;
}
}
Я неверно истолковал документацию на php.net. Обратите внимание на следующее: Эта функция может возвращать Boolean FALSE, но может также возвращать небулево значение, которое оценивается как FALSE, например 0 или «". Используйте оператор === для проверки возвращаемого значения этой функции. Значит может Eval ЛОЖЬ, но не ИСТИНА – 2008-09-17 14:13:16